網站搜尋

2025 年每位開發者應該了解的 Docker CLI 指令


如果你想開始使用 Docker,了解如何使用其命令列介面對有效管理你的容器和映像檔非常重要。

Docker 已成為容器化應用程式的首選解決方案,本指南將帶您了解控制 Docker 環境所需掌握的基本指令。

Docker 指令入門

在深入了解具體指令之前,重要的是要明白 Docker 指令遵循簡單的結構,大多數指令以 docker 開頭,後接您想執行的操作以及任何附加選項或參數。

你應該首先熟悉的指令是 help 和 version 指令,這些指令對任何命令列工具都很有用,Docker 也不例外。

要檢查您的 Docker 版本,只需運行:

docker --version

當你需要任何 Docker 指令的幫助時,內建的幫助系統會成為你的首要參考點,你可以透過執行以下指令來獲取一般的幫助資訊:

docker --help

檢查 Docker 版本並使用內建幫助

你也可以針對任何你想更好理解的特定指令獲取特定幫助,這將顯示該指令的所有可用選項和標誌。

docker run --help

獲取任何 Docker 指令的詳細幫助

使用 Docker 映像

Docker 映像是您的容器的基礎,因為它們包含運行應用程式所需的一切,包括程式碼、執行環境、函式庫和依賴項。

以下命令將引導你如何有效地使用 Docker 映像。

搜尋 Docker 映像

在你使用映像之前,你首先需要在 Docker Hub 中找到它,Docker Hub 是默認的註冊中心,提供數千個可供使用的預建映像。

要搜尋特定的映像檔,您可以執行以下指令,它會顯示可用的 nginx 映像檔列表,以及它們的描述和星級評分,幫助您識別最受歡迎且維護良好的選項。

sudo docker search nginx

在 Docker Hub 上搜尋 Docker 映像檔

拉取 Docker 映像

一旦您找到所需的映像,您可以使用 pull 命令將其下載到本地系統,該命令將拉取最新版本:

sudo docker pull nginx

如果你需要特定版本,你可以指定標籤:

sudo docker pull nginx:1.25.3

從 Docker Hub 拉取 Docker 映像

列出本地 Docker 映像

要查看你本地存儲的所有映像,請使用以下命令,它將顯示一個表格,列出系統中每個映像的倉庫名稱、標籤、映像 ID、創建日期和大小。

sudo docker images

檢查本地存儲的 Docker 映像

建立自訂 Docker 映像檔

當你需要從 Dockerfile 創建自己的自訂映像檔時,首先需要在當前目錄中創建 Dockerfile,其內容如下:

FROM ubuntu:24.04
RUN apt update && apt install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

上述 Dockerfile 建立了一個基於 Ubuntu 24.04 的簡單網頁伺服器映像檔,該映像檔會安裝並運行 Nginx。一旦你有了 Dockerfile,就可以使用 build 命令來構建自訂映像檔:

sudo docker build -t myapp:1.0 .

-t 標誌允許你為映像檔加上名稱和版本以便於識別,在此例中,myapp 是映像檔名稱,1.0 是版本標籤。末尾的 .(點)表示建置上下文是你目前的目錄,Docker 將在此目錄中尋找你剛創建的 Dockerfile。

從 Dockerfile 建立 Docker 映像檔

移除 Docker 映像

當你需要從系統中移除不再需要的圖像時,你可以使用以下命令:

sudo docker rmi nginx:latest

安全地移除 Docker 映像

但是,如果這個映像目前正在被正在運行或已停止的容器使用,Docker 將會阻止你刪除它。在這種情況下,你需要先刪除容器才能刪除映像,或者你也可以通過在命令中添加 -f 標誌來強制刪除。

docker rm container_name
docker rmi -f nginx:latest

管理 Docker 容器

下一部分將帶你了解如何管理容器,容器是你 Docker 映像檔的運行實例。了解如何管理和控制這些容器對於在日常操作中有效使用 Docker 至關重要。

運行 Docker 容器

從映像檔運行容器的最基本方法是使用以下指令。

sudo docker run nginx

從映像檔運行 Docker 容器

然而,上述命令會在前台運行容器,這會佔用你的終端。在實際應用中,你會希望改為以分離模式運行容器:

sudo docker run -d nginx

你也可以映射埠並為你的容器分配名稱,以便更輕鬆地管理和識別:

sudo docker run -d -p 8080:80 --name my-webserver nginx

上述指令使用 -d 參數在背景中執行一個 nginx 容器,使用 -p 參數將主機的 8080 端口映射到容器內的 80 端口,並使用 --name 參數將其命名為 "my-webserver"。

列出 Docker 容器

要查看系統上目前正在運行的所有容器,您可以使用以下命令:

sudo docker ps

不過,如果你想查看系統上的所有容器,包括已停止的容器,你可以在命令中添加 -a 標誌:

sudo docker ps -a

列出正在運行的 Docker 容器

啟動與停止 Docker 容器

在您能夠 停止、啟動 或 重啟 容器之前,您首先需要知道系統上存在哪些容器。

sudo docker ps -a

一旦你知道了容器的名稱,就可以使用 stop 指令來停止正在運行的容器:

sudo docker stop my-webserver

要啟動之前已經停止的容器,您可以使用 start 命令:

sudo docker start my-webserver

如果您需要重新啟動容器,也就是先停止它然後再啟動它,可以使用 restart 指令:

sudo docker restart my-webserver

啟動與停止 Docker 容器

移除 Docker 容器

當你不再需要一個容器時,可以使用 rm 命令將其從系統中移除以釋放空間:

sudo docker rm happy_satoshi

不過,如果你嘗試移除一個正在運行的容器,Docker 會阻止移除並顯示錯誤。在這種情況下,你有兩個選擇——你可以先停止容器,然後再移除它,或者使用 -f 標誌強制移除:

sudo docker rm -f happy_satoshi

force 標誌允許你在不先停止容器的情況下移除正在運行的容器,但你應該謹慎使用此選項,因為它會立即終止容器,而不進行正常關閉。

移除 Docker 容器

監控與除錯 Docker 容器

了解容器內部發生的情況對於排除問題和維護應用程式的健康至關重要。以下各節將帶您了解監控和除錯 Docker 容器的基本指令。

檢視容器日誌

要檢查容器產生的日誌,您可以使用 logs 命令:

sudo docker logs awesome_heyrovsky

如果你想在日誌生成時即時跟蹤它們,就像在日誌檔案上使用 tail -f 一樣,你可以添加 -f 參數:

sudo docker logs -f awesome_heyrovsky

查看 Docker 容器日誌

在容器內執行命令

Docker 提供的最強大功能之一是能夠在正在運行的容器內執行命令,這讓你可以進入容器的 shell 並探索其環境:

sudo docker exec -it awesome_heyrovsky /bin/bash

上述指令使用 -it 參數(互動式終端機)在容器內開啟一個互動式 shell,讓你可以直接在容器的環境中執行命令、檢查檔案以及除錯問題。

在運行中的 Docker 容器內執行指令

檢查容器詳情

當您需要有關容器配置、網路設定和狀態的詳細資訊時,您可以使用 inspect 指令:

sudo docker inspect awesome_heyrovsky

上述命令會返回關於容器的完整 JSON 格式資料,包括其配置、網絡設置、掛載的卷和環境變數。

檢視 Docker 容器配置

監控資源使用情況

要查看系統上所有運行中容器的即時資源使用情況,您可以使用 stats 命令,它將顯示每個運行中容器的 CPU 使用率、內存消耗、網路 I/O 和磁盤使用情況的實時數據流:

sudo docker stats

監控 Docker 容器資源使用情況

Docker 清理與維護

隨著時間的推移,Docker 會在您的系統上累積未使用的映像檔、容器、網路及其他資源,因此定期清理對釋放磁碟空間並保持 Docker 環境整潔非常重要。

要一次性移除系統中所有已停止的容器,您可以使用:

sudo docker container prune

如果你想刪除不再被任何容器引用的未使用映像,請使用:

sudo docker image prune

若要進行更全面的清理,能同時處理多種未使用的資源,您可以使用系統的 prune 指令:

sudo docker system prune

移除所有已停止的 Docker 容器

Docker 指令速查表

這裡有一個方便的參考表,列出了最常用的 Docker 命令,供快速查閱:

命令描述範例
docker --version檢查 Docker 版本docker --version
docker pull下載圖片docker pull nginx
docker images列出本地圖片docker images
docker run建立並啟動容器docker run -d nginx
docker ps列出正在運行的容器docker ps
docker ps -a列出所有容器docker ps -a
docker stop停止容器docker 停止 my-container
docker start啟動容器docker start my-container
docker restart重新啟動容器docker restart my-container
docker rm移除容器docker rm my-container
docker rmi移除圖片docker rmi nginx
docker 日誌查看容器日誌docker logs my-container
docker exec在容器中執行命令docker exec -it my-container bash
docker inspect查看詳細資訊docker inspect my-container
docker 統計監控資源使用情況docker 統計
docker 系統清理清理未使用的資源docker system prune
結論

本指南已帶領你了解管理容器和映像所需掌握的基本 Docker 指令,以有效管理你的環境。

你已經學會了如何從 Docker Hub 搜尋和拉取映像檔,使用各種選項執行和管理容器,監控它們的效能與日誌,並透過定期維護保持你的 Docker 環境整潔。

你覺得有哪些 Docker 指令特別有用嗎?或者你有什麼技巧能讓使用 Docker 更加方便? 歡迎在下方留言分享你的經驗,你的見解可能會幫助其他讀者在他們的 Docker 旅程中取得更好的進展!