步驟1:為我們的容器創(chuàng)建第一個(gè)鏡像。
#基于centos映像,我們啟動(dòng)自己的容器并在其中執(zhí)行/bin/bash命令。
#注意:-t-i參數(shù)用于創(chuàng)建虛擬命令行。
sudodockerrun-t-Icentos/bin/bash
現(xiàn)在我們已經(jīng)成功運(yùn)行了我們的第一個(gè)容器,并進(jìn)入了容器的命令行界面。在容器中,我們執(zhí)行以下命令:
Yum-y更新#更新包
Yuminstallwhich#安裝哪個(gè)命令。
Yum安裝Git#安裝Git
安裝完成后,按Ctrld退出容器的命令行。
#執(zhí)行sudodockerps-a,可以看到容器被我們終止。
容器ID圖像命令已創(chuàng)建……
da9031d3568fc:6.4/bin/bash5分鐘前…..
將我們的更改提交到新容器:
#這里我們創(chuàng)建一個(gè)自己的基本容器,里面安裝了文章中需要的常用工具。讀者的容器id可能與文章中的不同,以上一步dockerps-a的結(jié)果為準(zhǔn)。
sudodocker提交da90自定義/基本
容器成功提交后,執(zhí)行sudodockerimages,我們將看到剛剛提交的容器(如下面的結(jié)果所示)。讓讓我們把這個(gè)容器作為基本容器,然后創(chuàng)建一個(gè)新的容器。
存儲(chǔ)庫(kù)標(biāo)記圖像ID已創(chuàng)建
2分鐘前定制/基礎(chǔ)最新05b6cecd370b
10個(gè)月前centos6.4539c0211cd76
centos最新539c0211cd7610個(gè)月前…
步驟2:創(chuàng)建一個(gè)新的容器并安裝apache。
#運(yùn)行基于自定義/基本容器的新容器。
sudodockerrun-t-Icustom/base/bin/bash
#安裝httpd
yum安裝httpd
第3步:再次提交新容器。
按Ctrld退出容器的命令行,然后執(zhí)行命令:
#該命令將把在步驟2中安裝httpd所引起的更改提交到名為custom/httpd的新容器映像中。您的容器id可能與文章中的不同,這取決于sudodockerps-a命令的結(jié)果。
sudodocker提交aa6e2fc0b94c自定義/httpd
您應(yīng)該已經(jīng)注意到,我們已經(jīng)用http服務(wù)器創(chuàng)建了一個(gè)可重用的容器映像。按照這個(gè)思路,你可以為你需要的每個(gè)組件創(chuàng)建一個(gè)容器,然后在開(kāi)發(fā)環(huán)境或者生產(chǎn)環(huán)境中重用這些容器。
步驟7:運(yùn)行http服務(wù)器。
#-v會(huì)將卷從虛擬機(jī)裝載到容器,該容器也從主機(jī)共享到漫游虛擬機(jī)。
#-v參數(shù)將主機(jī)與虛擬機(jī)共享的卷裝載到容器中。
#-p將虛擬機(jī)端口80轉(zhuǎn)發(fā)到容器端口80虛擬機(jī)端口80映射到浮動(dòng)文件中的主機(jī)端口8080
#-p參數(shù)將虛擬機(jī)的80端口映射到容器的80端口;虛擬機(jī)的端口80綁定到Vagrantfil:80-v/vagrant//var/www/htmlcustom/httpd/bin/bash
#啟動(dòng)Apache
apachectl-k啟動(dòng)