目錄

Docker 指令大全(速查表)

本頁整理日常最常用的 Docker 指令,以 Docker 29 為準。每個指令的詳細說明與實際輸出請點選各章節的連結。最後一節整理了本教學實測時發現的常見陷阱。

容器

指令說明
docker run -d --name web -p 8080:80 nginx:1.30背景執行容器並對應連接埠
docker run -it --rm ubuntu:26.04 bash互動式執行,結束後自動刪除
docker ps列出執行中的容器
docker ps -a列出所有容器
docker stop web停止容器
docker start web啟動已停止的容器
docker restart web重新啟動
docker rm web刪除已停止的容器
docker rm -f web強制刪除執行中的容器
docker logs -f web追蹤容器日誌
docker logs --tail 100 web最後 100 行日誌
docker exec -it web sh進入容器的 shell
docker cp web:/path/file .從容器複製檔案到主機
docker inspect web查看容器詳細資訊
docker stats即時資源使用量
docker top web容器內的程序
docker port web查看連接埠對應
docker update --restart unless-stopped web修改重啟策略
docker run --init ...用小型 init 當 PID 1,正確轉發停止訊號

延伸閱讀:docker run 參數、容器生命週期、查看日誌與除錯

映像檔

指令說明
docker images列出本機映像檔
docker images --tree顯示多平台映像檔包含的平台
docker pull nginx:1.30下載映像檔
docker tag myapp user/myapp:1.0加上新的名稱/標籤
docker push user/myapp:1.0推送到 Registry
docker rmi nginx:1.30刪除映像檔
docker history nginx:1.30查看分層
docker buildx imagetools inspect nginx:1.30-alpine查看遠端映像檔支援的平台
docker save -o img.tar myapp匯出成檔案
docker load -i img.tar從檔案匯入
docker login / docker logout登入 / 登出 Registry

延伸閱讀:映像檔、推送到 Docker Hub

建置

指令說明
docker build -t myapp .用目前資料夾的 Dockerfile 建置
docker build -f Dockerfile.prod -t myapp .指定 Dockerfile
docker build --no-cache -t myapp .不使用快取
docker build --pull -t myapp .重新拉取基礎映像檔
docker build --target dev -t myapp:dev .只建置到某個階段
docker build --build-arg VERSION=1.2 .傳入建置參數(不要用來傳密碼)
docker build --secret id=token,env=TOKEN .傳入建置用的機密,不會留在映像檔
docker build --progress plain .顯示完整的建置輸出
docker buildx build --platform linux/amd64,linux/arm64 -t user/app --push .多平台建置並推送

延伸閱讀:Dockerfile 指令大全、建置快取與最佳化、多階段建置、多平台映像檔

Volume

指令說明
docker volume create data建立 Volume
docker volume ls列出 Volume
docker volume inspect data查看詳細資訊
docker volume rm data刪除 Volume
docker run -v data:/app/data myapp掛載具名 Volume
docker run -v "$(pwd):/app" myapp掛載目前資料夾

延伸閱讀:Volume 與資料保存

網路

指令說明
docker network create appnet建立自訂網路
docker network ls列出網路
docker network inspect appnet查看網路中的容器
docker run --network appnet --name db postgres:18讓容器加入網路
docker network connect appnet web把執行中的容器加入網路
docker network rm appnet刪除網路

延伸閱讀:網路與容器互連

Docker Compose

指令說明
docker compose up -d背景啟動所有服務
docker compose up -d --build重新建置後啟動
docker compose up -d --wait等所有服務 healthy 才返回
docker compose up -d app只更新/重建某個服務
docker compose down停止並刪除容器與網路
docker compose down -v連同 Volume 一起刪除
docker compose ps服務狀態
docker compose logs -f app追蹤某服務的日誌
docker compose exec app sh進入服務容器
docker compose run --rm app npm test執行一次性指令
docker compose pull下載最新映像檔
docker compose restart app重啟服務(不會套用修改過的設定)
docker compose watch檔案變動時自動同步或重建(開發用)
docker compose --profile tools up -d一併啟動 profile 中的服務
docker compose config檢查最終設定

延伸閱讀:Docker Compose 入門、docker compose 指令

清理

指令說明
docker system df查看空間使用
docker container prune刪除已停止的容器
docker image prune -a刪除未使用的映像檔
docker builder prune清除建置快取
docker builder prune --filter until=168h只清除 7 天以上沒用的建置快取
docker volume prune刪除未使用的匿名 Volume
docker volume prune -a刪除所有未使用的 Volume,含具名的資料庫資料
docker system prune綜合清理(不含 Volume)
docker system prune --volumes綜合清理,加上匿名 Volume(Docker 23 起不含具名 Volume)

延伸閱讀:清理硬碟空間

系統資訊

指令說明
docker version用戶端與伺服器版本
docker infoDocker 系統資訊
docker events即時事件
docker context ls列出可連線的 Docker 環境

常用參數速記

參數意思
-d背景執行
-it互動模式 + 終端機
-p 主機:容器連接埠對應
-v 來源:容器路徑掛載
-e KEY=VALUE環境變數
--name容器名稱
--rm結束後自動刪除
--network指定網路
--restart重啟策略
-f強制(rm、rmi)或追蹤(logs)

常見陷阱(本教學實測)

現象原因與解法章節
docker stop 要等 10 秒程式是 PID 1 且沒有處理 SIGTERM。在程式中處理,或加 --initNode.js 應用
容器名稱叫 web 時連線到 127.0.53.53.web 是頂級網域,名稱被當成外部網域解析。換個名稱docker run 參數
postgres:18 啟動就退出18 版要掛載 /var/lib/postgresql,不是 /var/lib/postgresql/dataPostgreSQL
資料庫還沒好就回報 healthypg_isready、mysqladmin ping 要加 -h 127.0.0.1MySQL、PostgreSQL
Redis 密碼錯了健康檢查仍通過redis-cli ping 錯誤時結束代碼仍為 0,加 | grep -q PONGRedis
改了 MYSQL_ROOT_PASSWORD 沒效果密碼變數只在第一次初始化時使用MySQL
改了設定檔,容器內還是舊的單一檔案掛載時,編輯器存檔會換掉檔案。重啟容器或改掛資料夾Nginx
--env-file 的值多了引號docker run --env-file 不會去掉引號,Compose 的 env_file 會環境變數
rm 刪掉的機密仍在映像檔中每一層都保留內容;ARG、ENV 也看得到。用 --secret安全最佳實務
exec format errorCPU 架構不同,用 --platform 或多平台建置多平台映像檔

常見問題

指令太多記不住怎麼辦?

先記住 run、ps、logs、exec、stop、rm、build、compose up/down 這幾個,其他需要時查本頁或 docker 指令 --help。

哪裡有每個指令的完整參數?

常用指令的完整參數與範例見「指令參考」分類,例如 [docker build](/zh-tw/docker/docker-build/)、[docker ps](/zh-tw/docker/docker-ps/)。

更新於 2026年10月14日