Docker成长之路(一) :Docker介绍安装
简介: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及以上版本
rpm -ivh
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 10.00.2316243024 ? Ss 04:05 0:00 nginx: master process nginx -g daemon off;
nginx 90.00.1320081740 ? S 04:05 0:00 nginx: worker process
页:
[1]