简介:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 Docker通常用于如下场景: web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据库或其他的后台应用; 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。 Docker组成:Docker server/client Docker组件:镜像(image)、容器(container)、仓库(repository) 1、Docker安装: 1.1 Ubuntu 14.04及以上版本: apt-get update apt-get install -y docker.io ln -sf /usr/bin/docker.io /usr/local/bin/docker sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io 1.2 Ubuntu 14.04以下版本: apt-get update apt-get install -y linux-image-generic-lts-raring linux-headers-generic-lts-raring reboot apt-get update apt-get install -y docker.io ln -sf /usr/bin/docker.io /usr/local/bin/docker sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io 1.3 CentOS 6及以上版本 使用阿里云源或者epel
yum install docker-io -y 对于CentOS 7系统,Exras源中已经包含内置的Docker,可以直接yum安装 yum install -y docker 2、Docker基本操作 2.1 镜像: 以下操作以CentOS镜像为例 查找镜像:docker search centos OFFICIAL是否为官方 AUTOMATED是否为自动部署 获取镜像:docker pull centos latest: Pulling from centos 47d44cb6f252: Pull complete 8aa7f4a1dd13: Pull complete e0f5867add13: Pull complete eeb3a076a0be: Pull complete Digest: sha256:1b9adf413b3ab95ce430c2039954bb0db0c8e2672c48182f2c5b3... Status: Downloaded newer image for centos:latest 查看镜像:docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest eeb3a076a0be 3 weeks ago 196.7 MB 2.2 容器 测试启动一个容器:docker run centos /bin/echo 'Hello,Docker' Hello,Docker 查看启动的容器:docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cf4d4e222f14 centos "/bin/echo Hello,Doc 29 seconds ago Exited (0) 27 seconds ago(表示已退出) desperate_lovelace 提示:docker run centos,如果centos没有这个镜像,会先下载后启动 在后台启动一个容器: docker run -d --name mynginx -h nginx nginx 通过docker ps -a可以看到 -h 指定主机名 进入容器: 获取mynginx的PID docker inspect --format "{{.State.Pid}}" mynginx 23247 nsenter --target 23247 --mount --uts --ipc --pid 进入容器后查看进程: root@692b5e7b9c32:/# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 31624 3024 ? Ss 04:05 0:00 nginx: master process nginx -g daemon off; nginx 9 0.0 0.1 32008 1740 ? S 04:05 0:00 nginx: worker process