Docker安装与基础使用

一、Docker介绍

Docker介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker是通过内核虚拟化技术(namespaces和cgroups)来提供容器的资源隔离与安全保障。容器是完全使用沙箱机制,相互之间不会有任何接口。基于go语言并遵从Apache2.0协议开源。

Docker官方网站

Docker官方文档

Docker组成

  • Docker Client:CLI命令
  • Docker Server:守护进程

Docker组件

(与虚拟机进行对比)

  • Docker Image 镜像:静态概念,把应用、代码和所需应用库(Bins/Libs)运行环境进行封装和打包
  • Docker Container 容器:动态概念,从镜像创建的一个实例,容器之间相互隔离,可进行启停、创建和删除操作
  • Docker Repository 仓库:存放镜像

Docker特点

  • 可管理性:单进程、不建议启动SSH
  • 前台运行进程,进程结束时容器停止,Docker只实现进程级别的隔离(虚拟机实现操作系统级别的隔离)
  • 基于C/S架构:Server端服务中断则运行于其上的所有容器停止
  • 简化配置与快速部署:应用与运行环境进行打包,快速产品交付,可同时进行多个版本测试
  • 不可变理论:原来的不改动,重新创建新的,保证环境一致性
  • 支持微服务架构:自动化扩容,Docker在京东的应用

二、Docker安装

安装Docker Community Edition (CE)

cd /etc/yum.repos.d/ && wget https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y

查看docker版本

docker -v

查看docker命令帮助

docker --help
docker inspect --help

Docker安装官方教程

三、Docker基本使用

Docker Server相关命令

查看Docker Server守护进程运行状态

systemctl status docker
systemctl start docker

Docker镜像管理相关命令

显示当前所有镜像

docker images

搜索docker镜像

docker search nginx
docker search centos

拉取/下载docker镜像

docker pull centos
docker pull nginx

以tar格式导出本地docker镜像

docker save -o nginx.tar nginx

导入本地docker镜像

docker load -i nginx.tar

删除docker镜像

docker rmi <IMAGE ID>

四、Docker容器相关命令

Docker容器管理方式

  1. 通过docker容器的CONTAINER ID
  2. 通过docker容器的NAMES

Docker容器相关命令

查看所有docker容器及状态

docker ps -a
#只显示运行中的容器
docker ps

启动docker容器,并执行echo命令,最后容器进入停止状态

docker run --name mycentos centos /bin/echo "abc"
#命令格式,注意镜像名称放在所有参数的后面
#docker run [ARG...] IMAGE [COMMAND] [ARG...]
#--rm 表示容器停止后删除
docker run --rm centos /bin/echo "abc"

启动docker容器,分配TTY和打开容器的标准输入

docker run --name mycentos -t -i centos /bin/bash
#然后进入该容器执行命令
ps aux
#显示的是物理机状态(说明docker只实现进程级别的隔离)
cat /proc/cpuinfo
free -h
exit

重新启动指定容器

docker start mycentos

容器执行指定命令

docker exec mycentos ps -aux
docker exec mycentos w

删除容器

docker rm mycentos
#-f 强制删除运行中的容器
docker rm -f mycentos

五、进入指定容器

方法一

#首先安装util-linux工具包,包含nsenter工具
yum install util-linux -y
#获取容器的PID
docker inspect -f {{.State.Pid}} mycentos
#进入命名空间,nsenter --help
nsenter -t <PID> -m -u -i -n -p
ps -ef
#不会直接退出docker,因为nsenter创建了一个线程
exit

对方法一进行优化:编写shell脚本

[root@linux-202 ~]# cat docker_in.sh
#!/bin/bash

#Use Docker name and nsenter tool to attach Docker.

DOCKER_NAME=$1
DOCKER_PID=`docker inspect -f {{.State.Pid}} $DOCKER_NAME`
nsenter -t $DOCKER_PID -m -u -i -n -p
[root@linux-202 ~]# chmod +x docker_in.sh
[root@linux-202 ~]# ./docker_in.sh mycentos

方法二

docker attach mycentos
#会直接退出docker
exit

方法三

docker exec -i -t mycentos /bin/bash

原文地址:https://www.cnblogs.com/alien2200/p/10386456.html

时间: 2024-07-30 00:20:59

Docker安装与基础使用的相关文章

docker安装和基础操作

docker安装 yum install docker 配置镜像下载加速器 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://797f50a9.m.daocloud.io Docker允许远程端连接 [[email protected] ~]# vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.

理解Docker(1):Docker 安装和基础用法

1. 安装 1.1 在 Ubuntu 14.04 上安装 Docker 前提要求: 内核版本必须是3.10或者以上 依次执行下面的步骤: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF7

docker 应用-1(安装以及基础命令)

Docker 安装 还是看官方文档吧TAT https://docs.docker.com/engine/getstarted/step_one/ 理解docker镜像和容器 镜像就是docker容器在运行的时候所使用的文件系统以及系统内核,以及其他参数.当然,docker镜像一般都会比实际的操作系统+软件要轻便的多. 容器就是一个镜像的运行实体. Docker基础命令 # 查看docker的版本信息 $ docker version # 查看安装docker的信息 $ docker info

docker 实战---安装一个基础镜像 (一)

泡了几天官网,对docker有了一点了解.准备着手搭建一个公司的开发测试环境,包括java.python. 环境介绍 首先说明一下我的环境 2台物理服务器(后面简称主机) 主机A的配置如下: [[email protected] ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:p

docker详细的基础用法(转)

1.docker安装 debian7安装docker 参考地址:http://www.webmaster.me/server/installing-docker-on-debian- wheezy-in-60-seconds.html echo deb http://get.docker.io/ubuntu docker main | sudo tee/etc/apt/sources.list.d/docker.list      sudo apt-key adv --keyserver key

Docker安装与使用

Docker安装 yum install docker -y 启动Dokcer servicer docker start 测试运行hello-world docker run hello-world Dokcer常用命令 docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" #制定镜像运行,命令 #-d 后台运行,还有-t 制定终端,-i 交互 docker sto

docker学习(2)--基础命令

转载请注明源出处:http://www.cnblogs.com/lighten/p/6875355.html 1.基本命令 搭建好docker环境之后,使用docker help命令查看docker的基本用法: docker COMMAND. 目前我们较为常使用的是commands下面的指令,如果使用swarm相关功能会用到management commands.目前我使用的是17.03.1-ce,后续版本功能应该会更加细分,可能会替换成management来使用.比如docker images

Centos7通过Docker安装Sentry(哨兵)

Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. Docker主要解决什么问题?Docker通过将运行环境和应用程序打包到一起,来解决部署环境依赖问题,真正做到跨平台的分发和使用. 镜像(Image)Docker镜像是一个容器的文件系统,提供容器运行时所需的程序.库.资源.配置等文件和运行时需要的一些配置参数( 如匿名卷.

Docker介绍及基础命令

什么是Docker? Docker 是一种容器技术,它不依赖任何语言.框架或系统,可以将应用变成一种标准化的.可移植的.自管理的组件,并脱离硬件平台在任何主流系统中开发.调试和运行.docker是一个基于LXC容器技术又对其进行优化升级扩展的管理工具,提供一系列更强的功能,如可移植性.自动化构建(dockerfile).版本控制.镜像管理等. Docker是一个重新定义了程序开发测试.交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是docker提出的"Build onc