2023 iT邦鐵人賽 Day 9 - 容器其他常見指令參數

前言

昨天我們已經知道如何建立、啟動、查看容器了,但在建立容器時,大部分時候不會如此單純。

有時需要設定容器的通訊連接、網路配置、資料存放空間等,這些都是會影響到容器運作正常與否。

今天就讓我們繼續一探容器的指令與參數吧!

替容器取個好名字

當容器被建立時,容器會自動取個名字,不仿可以再用指令建立容器後並查看在 name 欄位是否有值。( 這裡指的名字是 name ,而非 ID ,要特別留意容器的 IDname 是完全不同的。)

指令參數: --name

1
docker container create --name foobar httpd

這時在用 docker container ls -a 就會看到有個容器名稱 foobar 在清單中。

麻煩容器低調點

在昨天我們 run 出一個容器時,有提到使用 ctrl + c 結束正在終端機上 ( 前台 ) 運行中的容器,那我們可以讓容器啟動時,不要佔用終端機,也就是讓容器在背後默默 ( 後台 ) 的運行自己即可。

指令參數:-d--detach : 讓終端機在後台默默的運行,前台不會顯示任何 log。

1
2
3
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 後,會有一篇文章是專門整理好的指令彙整,敬請期待。