Docker 相關指令筆記

Docker 基本指令

# 顯示容器的即時資源使用狀態(CPU、記憶體、網路等)
docker stats

# 啟動一個或多個已停止的容器
docker start [container_name|container_id]

# 停止一個或多個正在運行的容器
docker stop [container_name|container_id]

# 重新啟動一個或多個容器
docker restart [container_name|container_id]

Docker Compose 指令

# 啟動 docker-compose.yml 中定義的所有服務
docker-compose up

# 以背景模式(Detached mode)執行服務
docker-compose up -d

# 停止並移除 docker-compose 所建立的容器、網路、volume 等
docker-compose down

清理(prune)指令(批次移除未使用資源)

# 刪除所有未使用的容器、網路、未標記的映像檔、掛載點(需確認)
docker system prune

# 刪除所有未使用的容器
docker container prune

# 刪除所有未使用的映像檔(不會刪除被任何容器使用的映像)
docker image prune

# 刪除所有未使用的資料卷(volume)
docker volume prune

# 刪除所有未使用的網路
docker network prune

# 加上 -f(--force)參數以略過確認提示
docker system prune -f

當共享主機空間已滿時的快速處理方式

若磁碟空間被 Docker 資料佔滿,最常見處理方式為重新啟動容器(釋放掉 volume 或 logs 的佔用):

# 停止並移除容器,然後重新建立與啟動容器
docker-compose down && docker-compose up -d

補充說明:

  • 上述操作不會刪除映像檔與 volumes(除非 docker-compose.yml 中有設定 volumes 的匿名掛載)

  • 若仍無法釋放空間,建議檢查以下項目:

    • /var/lib/docker/volumes/ 是否堆積過多匿名 volume
    • 容器內部 logs 是否未被輪替(log rotation)

建議定期執行 docker system df 查看磁碟空間使用狀況:

docker system df