昨天我們已經知道如何建立、啟動、查看容器了,但在建立容器時,大部分時候不會如此單純。
有時需要設定容器的通訊連接、網路配置、資料存放空間等,這些都是會影響到容器運作正常與否。
今天就讓我們繼續一探容器的指令與參數吧!
當容器被建立時,容器會自動取個名字,不仿可以再用指令建立容器後並查看在 name 欄位是否有值。( 這裡指的名字是 name
,而非 ID
,要特別留意容器的 ID
跟 name
是完全不同的。)
指令參數: --name
docker container create --name foobar httpd
這時在用 docker container ls -a
就會看到有個容器名稱 foobar
在清單中。
在昨天我們 run 出一個容器時,有提到使用 ctrl + c
結束正在終端機上 ( 前台 ) 運行中的容器,那我們可以讓容器啟動時,不要佔用終端機,也就是讓容器在背後默默 ( 後台 ) 的運行自己即可。
指令參數:-d
、 --detach
: 讓終端機在後台默默的運行,前台不會顯示任何 log。
docker container run --name foobar -d http
或
docker container run --name foobar --detach http
這時,當容器啟動後,不再顯示好幾行的 log,而是只會回傳 容器名稱
,但是如果沒有指定容器的名稱,那就會回傳 容器ID
,這樣就不用被容器的 log 佔據終端機。但如果你想看容器的 log,可以使用 docker container logs 容器ID / 容器名稱
查看容器日誌。
透過 docker container inspect 容器ID / 容器名稱
,可以看到該容器的詳細資訊,資訊太多就不一一細說,主要就是能看到容器的名稱、建立時間、是否正在運作、健康狀況、健康檢查次數、連接阜、網路、資料掛載等。
透過 docker container -it exec 容器ID / 容器名稱 sh
,進入容器裡,與容器內的應用程式進行互動。輸入 ls
便可看到應用程式的目錄。
其中 -it
是必備的,讓我們能夠與容器互動。
今天介紹了部分的指令參數,還有些指令會在之後的篇章陸續介紹到。
基本上,Docker 常見的指令就那幾十個,而且無論容器、映像檔或是 volume 等等,指令大同小異。只要多操作幾次就能記住,在介紹完 Docker 後,會有一篇文章是專門整理好的指令彙整,敬請期待。
這一系列的鐵人賽文章,都同步更新在我的部落格: https://wl02599509.github.io/