一、基礎命令
- 查看 Docker 版本
-
docker --version
或docker version
:顯示 Docker 客戶端和服務器的版本信息。
- 查看 Docker 系統信息
-
docker info
:顯示 Docker 系統的詳細信息,包括鏡像、容器數量、存儲驅動類型等。
- Docker 服務管理
-
sudo systemctl start docker
:啟動 Docker 服務。sudo systemctl stop docker
:停止 Docker 服務。sudo systemctl restart docker
:重啟 Docker 服務。sudo systemctl status docker
:查看 Docker 服務狀態。sudo systemctl enable docker
:設置 Docker 開機自啟。sudo systemctl disable docker
:取消 Docker 開機自啟。
- 查看 Docker 幫助文檔
-
docker --help
:查看 Docker 命令的總體幫助。docker [command] --help
:查看特定 Docker 命令的幫助,例如docker run --help
。
二、鏡像管理命令
- 列出本地鏡像
-
docker images
:列出本地存儲的所有 Docker 鏡像。
- 搜索鏡像
-
docker search [鏡像名]
:在 Docker Hub 上搜索指定的鏡像。
- 拉取鏡像
-
docker pull [鏡像名]:[標簽]
:從 Docker 倉庫中拉取指定鏡像到本地。如果不指定標簽,則默認拉取latest
版本。
- 刪除鏡像
-
docker rmi [鏡像ID或鏡像名]
:刪除本地的某個鏡像。使用-f
參數可以強制刪除鏡像。docker image prune
:刪除沒有被容器引用的鏡像docker image prune -a --filter "until=168h"
:刪除所有創建超過7天的鏡像
- 構建鏡像
-
docker build -t [鏡像名]:[標簽] [Dockerfile所在路徑]
:從指定路徑的 Dockerfile 構建一個新的鏡像。
- 保存鏡像
-
docker save -o [保存的文件名] [鏡像名]
:將鏡像保存為一個 tar 壓縮包,方便傳輸或備份。
- 加載鏡像
-
docker load -i [鏡像保存文件]
:從一個 tar 包中加載鏡像到本地 Docker 庫。
- 給鏡像打標簽
-
docker tag [源鏡像名]:[標簽] [目標鏡像名]:[標簽]
:為本地鏡像打上一個新的標簽。
三、容器管理命令
- 創建并運行容器
-
docker run [選項] [鏡像名] [命令] [參數]
:常用選項包括-d
(后臺運行)、-i
(交互模式)、-t
(分配偽終端)、-p
(端口映射)、--name
(指定名稱)、-v
(掛載卷)。
- 列出容器
-
docker ps
:列出當前正在運行的容器。docker ps -a
:列出所有容器(包括已停止的)。
- 啟動、停止、重啟容器
-
docker start [容器ID或容器名]
:啟動容器。docker stop [容器ID或容器名]
:停止容器。docker restart [容器ID或容器名]
:重啟容器。
- 刪除容器
-
docker rm [容器ID或容器名]
:刪除已停止的容器。使用-f
參數可以強制刪除正在運行的容器。
- 進入容器
-
docker exec -it [容器ID或容器名] /bin/bash
:在容器內啟動一個交互式的 Shell。
- 退出容器
-
exit
:退出容器并停止容器運行。Ctrl + P + Q
:退出容器但不停止容器運行。
- 查看容器日志
-
docker logs [容器ID或容器名]
:查看容器的輸出日志。常用選項包括-f
(實時輸出)、--tail n
(顯示最后 n 行日志)。
- 查看容器內部細節
-
docker inspect [容器ID或容器名]
:以 JSON 格式輸出容器的詳細信息。
四、數據卷管理命令
- 創建數據卷
-
docker volume create [卷名]
:創建一個新的數據卷。
- 列出所有數據卷
-
docker volume ls
:列出所有數據卷。
- 刪除數據卷
-
docker volume rm [卷名]
:刪除指定的數據卷。
- 查看數據卷詳情
-
docker volume inspect [卷名]
:顯示數據卷的詳細信息,包括掛載路徑。
五、網絡管理命令
- 創建網絡
-
docker network create [網絡名]
:創建一個自定義網絡。
- 列出所有網絡
-
docker network ls
:列出所有網絡。
- 查看網絡詳情
-
docker network inspect [網絡名]
:顯示指定網絡的詳細信息。
- 刪除網絡
-
docker network rm [網絡名]
:刪除指定的自定義網絡。
- 將容器連接到網絡
-
docker network connect [網絡名] [容器名或容器ID]
:將容器連接到指定網絡。
- 將容器從網絡斷開
-
docker network disconnect [網絡名] [容器名或容器ID]
:將容器從指定網絡斷開。
六、Docker-Compose命令
- 啟動服務
-
- 命令:
docker-compose up
- 功能:根據
docker-compose.yml
文件中的配置啟動所有服務。默認情況下,容器會在前臺運行,并顯示日志輸出。 - 選項:
- 命令:
-
-
-d
:在后臺運行服務。--build
:在啟動服務之前構建鏡像。--force-recreate
:強制重新創建容器,即使它們沒有變化。--no-deps
:不啟動服務所依賴的其他服務。--scale SERVICE=NUM
:指定服務的副本數量。
-
- 停止服務
-
- 命令:
docker-compose stop
- 功能:停止所有正在運行的容器,但不會刪除它們。
- 命令:
- 重啟服務
-
- 命令:
docker-compose restart
- 功能:重啟所有服務。
- 命令:
- 刪除服務
-
- 命令:
docker-compose down
- 功能:停止并刪除所有容器、網絡、卷和鏡像(可選)。
- 選項:
- 命令:
-
-
-v
或--volumes
:刪除掛載的數據卷。--rmi
:刪除鏡像,可選值為all
或local
。
-
- 查看服務狀態
-
- 命令:
docker-compose ps
- 功能:列出所有容器及其狀態。
- 命令:
- 查看日志
-
- 命令:
docker-compose logs
- 功能:顯示服務的日志輸出。
- 選項:
- 命令:
-
-
-f
或--follow
:實時跟蹤日志輸出。--tail N
:顯示最后 N 行日志。--no-color
:不使用顏色來區分不同的服務。
-
- 構建鏡像
-
- 命令:
docker-compose build
- 功能:根據
docker-compose.yml
文件中的配置構建鏡像。 - 選項:
- 命令:
-
-
--no-cache
:構建時不使用緩存。--pull
:在構建之前拉取最新的基礎鏡像。
-
- 拉取鏡像
-
- 命令:
docker-compose pull
- 功能:從鏡像倉庫拉取服務所需的鏡像。
- 命令:
- 推送鏡像
-
- 命令:
docker-compose push
- 功能:將鏡像推送到鏡像倉庫。
- 命令:
- 執行命令
-
- 命令:
docker-compose exec
- 功能:在運行的容器中執行命令。
- 格式:
docker-compose exec [服務名] [命令]
- 命令:
- 運行一次性命令
-
- 命令:
docker-compose run
- 功能:在指定服務上運行一次性命令。運行完畢后,容器會自動刪除(除非使用
--rm
選項)。 - 格式:
docker-compose run [服務名] [命令]
- 命令:
- 擴容/縮容
-
- 命令:
docker-compose scale
- 功能:設置指定服務的副本數量。
- 格式:
docker-compose scale [服務名]=[數量]
- 命令:
- 暫停/恢復服務
-
- 暫停服務:
docker-compose pause
- 恢復服務:
docker-compose unpause
- 暫停服務:
- 查看網絡
-
- 列出網絡:
docker-compose network ls
- 創建網絡:
docker-compose network create [網絡名]
- 刪除網絡:
docker-compose network rm [網絡名]
- 列出網絡:
- 管理容器
-
- 刪除容器:
docker-compose rm
- 強制停止容器:
docker-compose kill
- 刪除容器:
- 查看配置
-
- 命令:
docker-compose config
- 功能:驗證
docker-compose.yml
文件的配置,并顯示解析后的配置。
- 命令:
- 顯示版本信息
-
- 命令:
docker-compose version
- 功能:顯示 Docker Compose 的版本信息。
- 命令:
- 獲取幫助信息
-
- 命令:
docker-compose help
- 功能:顯示 Docker Compose 的幫助信息。
- 命令:
使用說明:
- 所有 Docker Compose 命令都必須在
docker-compose.yml
文件所在的目錄下執行。 - 可以通過
-f
選項指定其他路徑下的docker-compose.yml
文件。 - 可以通過
-p
選項指定項目的名稱,以便在多個項目之間切換。
這些命令覆蓋了 Docker Compose 的大部分功能,能夠幫助用戶輕松管理和編排多容器 Docker 應用。