Instructions详解从远程仓库拉取镜像//dockerimagepulllibrary/hello-world默认从库中拉取,可以省略dockerimagepullhello-world查看镜像列表dockerimagels运行一个docker镜像,生成一个容器实例//运行dockerrunhello-world//echo会在shell上打印一段文字作为提醒helloworld检查本地是否存在指定镜像,如果不存在则从公共仓库下载,使用镜像创建并启动一个容器分配一个文件系统,并在只读镜像层外挂载一个读写层。bridgeavirtualinterface从宿主机host上配置的bridge接口到容器,从地址池中配置一个ip地址,供容器执行user-specified应用程序执行后,容器终止runningcontainersdockercontainerls//列出机器上所有的容器,包括终止的容器dockercontainerls--all启动一个交互式容器dockerrun-t-iubuntu:14.04/bin/bashdockerrun命令,并启动名为Ubuntu:14.04。-t表示在新容器中指定一个伪终端或终端-i表示允许我们在容器中与(STDIN)进行交互。-t-i可以简化为-it。请记住,我们还在容器中指定了一个新命令:/bin/bash。这将启动容器中的bashshell,这是一个交互式程序。请注意“:”后跟TAG。如果不指定,默认是最新的。所以当容器(container)启动的时候,我们会得到一个命令提示符:root@af8bae53bdd3:/#这意味着我们已经进入容器启动daemon进程,并且容器一直在后台运行dockerrun-dubuntu:14.04//注意-d和-it同时使用,-会失效,-d需要返回一个容器id端口映射,挂载数据卷,命名容器dockerrun-d--name=ant_web_pro-v/host绝对路径:/container目录-pdocker外部端口:docker内部端口nginx-P:随机端口映射,容器内部端口随机映射到宿主机的高端口-p:指定端口映射,格式is:host(主机)端口:容器端口--name="nginx-lb":为容器指定一个名称;--volume,-v:bind如果一个volume是容器中不存在的目录,则两者都会自动创建-v$PWD/directory:/容器中的目录$PWD表示当前文件夹当你更改数据时volume在容器内部,其实是软连接到外部的,data直接在宿主机上更改查看数据volumedockervolumels启动一个终止的容器container可以运行创建一个新的运行,或者重启stopped容器,但是start不能再指定容器启动时要运行的命令,因为docker只能有一个前台进程。当容器停止(或Ctrl+D)时,会保存当前容器的状态后退出,下次启动时,会保留上次关闭时的变化。而且每次进入attach,界面都是一样的,跟第一次run或者commit提交的那一刻是一样的。dockerstart$CONTAINER_IDdockerstop$CONTAINER_IDdockerrestart$CONTAINER_IDexitcontainerexitentercontainerdockerexec-itant-design-pro_web/bin/bash//dockerexec-it64b9ded82141bash(可以是id)删除一个或多个容器,images(rm,rmi)//删除容器dockerrm
