Docker入门与实战
三.Docker容器的使用
1.创建容器
命令 :docker [container] create tag:name
一些参数说明:
-i或–interactivve=true|false : 是否保持标准输入打开状态,默认为false
-t或–tty=true|false : 是否分配一个伪终端
-a或–attach=[] : 是否绑定到标准输入,输出,错误
-d或–detach=true|false : 是否在后台运行该容器,默认为false
-p或–publish=[] : 指定如何映射到本地主机端口 e.g. -p 11234-12234:1234-2234
-v或–volume=[host-dir:container-dir] : 指定主机上的文件卷与容器上的文件卷的映射
-ip=“” : 指定容器的IPv4地址
-ip6=“” : 指定容器的IPv6地址
其他参数请自行参考官方文档说明
2.启动容器
命令:docker [container] start containerID
3.新建并启动容器
命令:docker [container] run name:tag [/bin/bash …用户指定的程序]
说明:要实现上述指令,Docker需要在后台执行如下工作:
I.检查本地是否存在指定镜像,若存在,则直接进入下一步;若不存在,则自动从公有仓库拉取最新镜像
II.利用现有的镜像创建并启动一个容器
III.分配一个文件系统给容器,并在只读的镜像层外层再挂载一层可读可写层
IV.从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
V.从网桥的地址池中分配一个IP地址给容器
VI.执行用户指定的程序
VII.执行完所有程序后,容器将自动终止并退出
对于实例代码的说明:
上述代码中,我们给予一个-i参数,用于使标准输入持续打开,又给予了一个-t参数,用于模拟伪终端,同时我们还捎带着启动了一个用户程序–、 bin/bash,之后我们在终端中列出了当前路径下的文件目录列表,然后创建了一个空文件,接着查看了一下当前所在路径位置,最后我们输入exit,由 于/bin/bash是该容器中唯一的一个用户程序,因此,在用户输入exit退出当前程序之后,该容器也就顺带终止并退出(因为它已经完成了它的所有使命-- 保证所有用户程序执行)。