歡迎來到 Docker 的指令世界!在先前文章中,我們聊過 Docker 的核心架構,將它比喻成一台「神奇咖啡機」,從顧客(Docker Client)用遙控器操作,到咖啡機的大腦(Docker Daemon)接到訂單,再到咖啡機沖泡(Containerd 和 OCI Runtime),最後端出一杯完美的咖啡(Container)。這次,我們要動手操作這台咖啡機,學會如何用指令點單、沖咖啡,甚至調配自己的配方。一樣會沿用上一篇的比喻,若是還沒閱讀過的讀者,可以先至此篇文章閱讀,了解 Docker 的基本概念。
基本指令:檢查 Docker 狀態
查看 Docker 版本
確認 Docker 是否正常安裝。
1 | docker --version |
output:
1 | Docker version 20.10.21, build baeda1f |
準備原料:下載與管理 Image
下載一個 Image
1 | docker pull nginx |
從 Docker Hub(原料供應商)下載一個映像檔,這裡用的是 Nginx(一個輕量網頁伺服器)。
就像跟供應商說:「給我一包優質咖啡豆!」有了之後,才能開始沖咖啡。
查看本地 Image 清單
列出你電腦裡的所有 Image。
1 | docker images |
output:
1 | REPOSITORY TAG IMAGE ID CREATED SIZE |
像是檢查咖啡店的原料櫃,看看有哪些咖啡豆可用。
沖咖啡:啟動與管理 Container
啟動一個 Container
用 Image 啟動一個容器。
1 | docker run -d -p 8080:80 nginx |
-d
:背景運行(讓咖啡機自己運作,不用你盯著)。-p 8080:80
:把容器的 80 端口映射到本機的 8080 端口。nginx
:使用剛剛下載的 Nginx Image。
就像按下咖啡機的「開始鍵」,告訴它:「用 Nginx 配方沖一杯咖啡,送到 8080 桌!」
現在打開瀏覽器,輸入 http://localhost:8080
,你會看到 Nginx 的歡迎頁面,像端上桌的咖啡一樣完美,簡單吧?
查看運行中的 Container
顯示目前正在運行的容器。
1 | docker ps |
output:
1 | CONTAINER ID IMAGE COMMAND PORTS NAMES |
(a1b2c3d4e5f6
是 Container ID,後面會用到)
像是看看咖啡店裡有哪些咖啡機正在沖咖啡。
查看所有 Container(包括已停止的)
列出所有容器,不論是否正在運行。
1 | docker ps -a |
像是檢查咖啡店的訂單紀錄,看看今天沖過哪些咖啡。
清理咖啡機:停止與移除
停止一個 Container
停止指定的容器(可以用
docker ps
找到的 Container ID)。
1 | docker stop a1b2c3d4e5f6 |
就像按下咖啡機的「暫停鍵」,讓它休息一下。
移除一個 Container
刪除已停止的容器。
1 | docker rm a1b2c3d4e5f6 |
像是把用完的咖啡機清理乾淨,準備下一杯。
移除一個 Image
刪除本地的 Image(前提是沒有容器在使用它)。
1 | docker rmi nginx |
就像把用不到的咖啡豆丟掉,節省櫃子空間。
自己沖咖啡:打造專屬 Image
建立自己的 Image
用
Dockerfile
打包出一個自訂 Image,命名為my-coffee
。
假設你寫了一個簡單的 Node.js 應用程式:
1 | // app.js |
接著創建一個 Dockerfile
(咖啡配方):
1 | FROM node:18 |
然後執行:
1 | docker build -t my-coffee . |
就像自己調配咖啡配方,告訴咖啡機怎麼沖出一杯獨特的咖啡。
用自訂 Image 啟動 Container
啟動你剛剛打造的 Image。
1 | docker run -d -p 3000:3000 my-coffee |
瀏覽 http://localhost:3000
,你會看到「Hello, Docker Coffee!」這就是你自己沖出的專屬咖啡!
實用小技巧
查看 Container 日誌
檢查容器的運行狀況。
1 | docker logs a1b2c3d4e5f6 |
像是查看咖啡機的沖泡記錄,看看哪一步出了問題。
進入 Container 內部
進入容器內部操作(
-it
表示互動模式)。
1 | docker exec -it a1b2c3d4e5f6 bash |
- -it:進入容器的交互模式。
- a1b2c3d4e5f6:使用 a1b2c3d4e5f6 映像檔。
- bash:在容器啟動後要執行的命令,這裡進入容器的 bash 終端機。
就像打開咖啡機的蓋子,親手調整設定。
結論
這些常用指令就像基本操作:檢查設備(docker --version
)、準備原料(docker pull
)、沖咖啡(docker run
)、清理(docker stop/rm
),甚至自己調配配方(docker build
)。學會這些,你已經能應付大多數 Docker 場景了!