步骤1:为我们的容器创建第一个镜像。
#基于centos映像,我们启动自己的容器并在其中执行/bin/bash命令。
#注意:-t-i参数用于创建虚拟命令行。
sudodockerrun-t-Icentos/bin/bash
现在我们已经成功运行了我们的第一个容器,并进入了容器的命令行界面。在容器中,我们执行以下命令:
Yum-y更新#更新包
Yuminstallwhich#安装哪个命令。
Yum安装Git#安装Git
安装完成后,按Ctrld退出容器的命令行。
#执行sudodockerps-a,可以看到容器被我们终止。
容器ID图像命令已创建……
da9031d3568fc:6.4/bin/bash5分钟前…..
将我们的更改提交到新容器:
#这里我们创建一个自己的基本容器,里面安装了文章中需要的常用工具。读者的容器id可能与文章中的不同,以上一步dockerps-a的结果为准。
sudodocker提交da90自定义/基本
容器成功提交后,执行sudodockerimages,我们将看到刚刚提交的容器(如下面的结果所示)。让让我们把这个容器作为基本容器,然后创建一个新的容器。
存储库标记图像ID已创建
2分钟前定制/基础最新05b6cecd370b
10个月前centos6.4539c0211cd76
centos最新539c0211cd7610个月前…
步骤2:创建一个新的容器并安装apache。
#运行基于自定义/基本容器的新容器。
sudodockerrun-t-Icustom/base/bin/bash
#安装httpd
yum安装httpd
第3步:再次提交新容器。
按Ctrld退出容器的命令行,然后执行命令:
#该命令将把在步骤2中安装httpd所引起的更改提交到名为custom/httpd的新容器映像中。您的容器id可能与文章中的不同,这取决于sudodockerps-a命令的结果。
sudodocker提交aa6e2fc0b94c自定义/httpd
您应该已经注意到,我们已经用http服务器创建了一个可重用的容器映像。按照这个思路,你可以为你需要的每个组件创建一个容器,然后在开发环境或者生产环境中重用这些容器。
步骤7:运行http服务器。
#-v会将卷从虚拟机装载到容器,该容器也从主机共享到漫游虚拟机。
#-v参数将主机与虚拟机共享的卷装载到容器中。
#-p将虚拟机端口80转发到容器端口80虚拟机端口80映射到浮动文件中的主机端口8080
#-p参数将虚拟机的80端口映射到容器的80端口;虚拟机的端口80绑定到Vagrantfil:80-v/vagrant//var/www/htmlcustom/httpd/bin/bash
#启动Apache
apachectl-k启动