Docker 是一个开源的应用容器引擎
安装
yum -y install docker
[root@server72 ~]# systemctl start docker
[root@server72 ~]# systemctl enable docker
docker run hello-world
试用:
docker run -t -i ubuntu:14.04 /bin/bash
-t 是分配一个虚拟终端, -i 是获取当前的输入. 这样你可以立即使用一个终端来和这个环境交互了.
docker ps 查看运行中的
docker run -t ubuntu:14.04 nc -l 8000
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e32b87365b7 ubuntu:14.04 “nc -l 8000” About a minute ago Up About a minute
docker inspect 9e32b87365b7
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
telnet 172.17.0.2 8000 试试
结束后可以看
[root@server72 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e32b87365b7 ubuntu:14.04 "nc -l 8000" 7 minutes ago Exited (0) 16 seconds ago thirsty_spence
docker start 9e32b87365b7
区分容器和镜像的概念,其实就跟虚拟机和镜像的概念差不多,RUN的是容器,START的是镜像
docker run 的时候使用 -p 参数就可以指定一对端口映射:
docker run -d -p 5000:22 -p 18888:8888 zys:common
上面的命令, 在启动容器时, 指定的端口映射表示实体机 5000 端口映射到容器 22 端口, 同时 18888 端口映射到容器 8888 端口. 这样做之后, 就可以通过实体机的 5000 端口 ssh 登录到容器了
容器中的文件系统是独立的, 一旦容器被删除, 则文件系统也会被删除. 如果想容器和实体机在文件系统层面打通, 可以把指定目录挂载到容器当中:
docker run -d -p 5000:22 -v /home/zys/temp:/root/volumn zys:common
使用 -v 参数, 就可以把多个实体机目录挂载到容器的文件系统中.