在docker環境安裝完成之後,對docker的使用主要集中在docker映象的管理與使用。首先是docker映象的管理,檢視本地有哪些映象可以使用命令:
docker images
檢視到本地有哪些映象後,就可以來執行已有的映象了,使用命令:
docker run -t -i ubuntu:15.10 /bin/bash
docker search selenium/hub
搜尋之後如果有映象存在,就可以拉取映象了。命令如下:
docker pull selenium/hub
最後執行映象:
docker run -it selenium/hub
基於乙個現有的映象來修改
基於dockerfile來建立
映象修改的方式是先執行乙個現有的映象,然後在執行的容器中進行軟體的更新操作。比如:安裝軟體、服務之類。
>docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/# apt-get update
root@e218edb10161:/# apt-get install wget
root@e218edb10161:/# exit
在完成軟體安裝/更新/公升級之後,需要對該映象進行提交操作,即做乙個儲存操作。
docker commit -m="with wget" -a="five3" e218edb10161 five3/ubuntu:v2
-m:提交的描述資訊
-a:指定映象作者
e218edb10161:容器id,在容器執行時可以在命令列開頭檢視。比如:root@e218edb10161中@之後的內容。此外還可以通過docker ps來檢視
five3/ubuntu:v2:指定要建立的目標映象名
接著,我們就可以使用新定製的映象了。
docker run -t -i five3/ubuntu:v2 /bin/bash
目前為止,你儲存的新映象還只是在本地。如果你希望把它更新到docker倉庫,可以使用如下命令:
docker push five3/ubuntu:v2
使用上述命令的前提是你已經在上註冊了賬戶
通常乙個dockerfile的檔案格式如下:
from centos:6.7
maintainer macy "[email protected]"
run /bin/echo 'root:123456' |chpasswd
run useradd five3
run /bin/echo 'five3:123456' |chpasswd
run /bin/echo -e "lang=\"en_us.utf-8\"" >/etc/default/local
expose 22
expose 80
cmd /usr/sbin/sshd -d
它與shell指令碼類似,是乙個批處理的過程,但是它具有自己的命令和語法。dockerfile的命令都是大寫的,比如:from、run等。從上面的dockerfile我們可以大概知道,構建的新映象都做了什麼。
然後,在基礎的centos之上,會執行幾條run後面的命令。包括修改root密碼,新增乙個five3使用者,設定系統的預設編碼為utf-8
接著,通過expose命令對外開發了22和80埠。即ssh埠與web埠
最後,cmd命令用於設定映象執行後的啟動命令。這裡是缺省會啟動ssh服務。這樣當映象執行之後我們就可以通過ssh連線該容器了
這裡需要注意的是,22、80是容器內部的軟體埠,雖然對外部開放了,但是外部需要有乙個埠對映;在容器之外要連線這2個埠需要連線外部的對映埠。關於檢視外部對映埠可以使用如下命令:
docker port 22
docker port 80
在dockerfile完成之後,我們就可以build自定義的映象了。具體命令如下:
docker build -t five3/centos:6.7 /path/to/dockerfile
-t :指定要建立的目標映象名,注意名稱只能是小寫字母
構建完成之後,可以通過docker images來檢視映象檔案,還可以直接執行該映象:
docker run -t -i five3/centos:6.7 /bin/bash
啟動後通過id命令來檢查使用者five3是否建立成功
id five3
Docker映象建立
2 建立步驟 2 執行容器。3 修改容器。4 將容器儲存為新的映象。開啟乙個新的xshell視窗 docker pull options name tag digest docker images options repository tag docker run options image com...
docker 建立映象
主要有三種 基於已有映象的容器建立 基千本地模板匯入 基於 dockerfile建立。該方法主要是使用 docker container commit命令。命令格式為docker container commit options container repository tag 主要選項包括 a,a...
使用Golang程式建立Docker映象
golang編譯的應用是不需要依賴其他執行環境的,那麼為什麼還需要打包成docker映象呢?當需要附帶配置和日誌等檔案時可以更方便的移植和執行,下面介紹從dockerfile編譯成映象。在專案根目錄新建dockerfile,內容如下 from alpine latest 基於的映象不是golang ...