Docker常用命令匯總(包含docker-compose命令)
本文將整理一系列Docker的常用命令,便于日常使用和學習。
1. Docker基礎命令
(1) 啟動/停止/重啟docker
# 啟動
systemctl start docker
# 停止
systemctl stop docker
# 重啟
systemctl restart docker
(2) 設置開機自啟動
# 設置
systemctl enable docker
# 取消開機自啟動
systemctl disable docker
(3) 查看docker狀態(tài)
systemctl status docker
(4) 查看版本信息
docker version
該命令顯示當前安裝的Docker客戶端和服務器版本信息。
(5) 顯示Docker系統(tǒng)信息
docker info
該命令展示關于Docker安裝的詳細信息,包括運行容器的數量、鏡像的數量、存儲驅動、網絡配置等。
(6) 查看幫助
docker --help
二、鏡像管理命令
(1) 搜索鏡像
docker search [鏡像名]
在鏡像倉庫上搜索指定的名稱的鏡像,默認是Docker Hub。
docker search nginx
不過企業(yè)一般會使用harbor搭建自己的鏡像倉庫。
(2) 下載鏡像
docker pull [鏡像名]:[標簽]
下載指定的鏡像到本地。如果不指定標簽,則默認下載latest版本。例如:
docker pull nginx:latest
(3) 列出本地鏡像
docker images
列出本地所有鏡像,顯示鏡像ID、倉庫、標簽、大小等信息。
(4) 刪除鏡像
docker rmi [鏡像ID或鏡像名]
刪除本地的某個鏡像。例如:
docker rmi nginx:latest
-f 參數可以執(zhí)行強制刪除鏡像:
docker rmi -f mysql
刪除全部鏡像(慎用):;
docker rmi -f $(docker images -aq)
- -a 意思為顯示全部
- -q 意思為只顯示ID
(5) 構建鏡像
docker build -t [鏡像名]:[標簽] [Dockerfile所在路徑]
從指定路徑的Dockerfile構建一個新的鏡像。例如從當前路徑構建
docker build -t nginx:1.0 .
(6) 導入鏡像
docker load -i 鏡像保存文件位置
docker load -i /data/nginx.tar
(7) 保存鏡像
docker save -o 保存的目標文件名稱 鏡像名
docker save -o /data/nginx.tar nginx
保存后的鏡像可以使用load加載到其他服務器上。
(8) 給鏡像打標簽
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag nginx 10.10.10.200/software/nginx:1.26
有時候根據業(yè)務需求 需要對一個鏡像進行分類或版本迭代操作,此時就需要給鏡像打上標簽。10.10.10.200為鏡像倉庫地址,software為鏡像倉庫名稱
3. 容器管理命令
(1) 創(chuàng)建并運行容器
docker run [選項] [鏡像名]
常用選項:
選項 | 說明 |
-d | 后臺運行容器 |
-p | 端口映射 |
--name | 指定容器名稱 |
-v | 掛載卷 ;例如-v 主機路徑:容器路徑 |
示例:在后臺運行一個名為mynginx的nginx容器,并映射端口:
docker run -d -p 8080:80 --name mynginx nginx
(2) 查看運行中的容器
docker ps
列出當前正在運行的容器,顯示容器ID、鏡像、狀態(tài)、端口映射等信息。
(3) 查看所有容器(包括停止的)
docker ps -a
(4) 啟動和停止容器
# 啟動容器
docker start [容器ID或容器名]
# 停止容器
docker stop [容器ID或容器名]
(5) 重啟容器
docker restart [容器ID或容器名]
(6) 刪除容器
docker rm [容器ID或容器名]
刪除指定的容器。如果容器正在運行,可以使用-f強制刪除。
(7) 進入容器
docker exec -it [容器ID或容器名] /bin/bash
在容器內啟動一個交互式的Shell。例如:
docker exec -it mynginx /bin/bash
(8) 查看容器日志
docker logs [容器ID或容器名]
查看容器的輸出日志。常用選項:
-f:實時輸出日志。 --tail n:顯示最后n行日志。 例如:
docker logs -f --tail 20 mynginx
(9) 查看容器內部細節(jié)
docker inspect
4. 數據卷管理命令
數據卷(Volume)是Docker中持久化數據的關鍵,通過數據卷可以將容器內的數據持久化到宿主機中。
(1) 創(chuàng)建數據卷
docker volume create [卷名]
docker volume create data
(2) 查看數據卷
docker volume ls
列出所有數據卷。
(3) 刪除數據卷
docker volume rm [卷名]
docker volume rm data
刪除指定的數據卷。
(4) 查看數據卷詳情
docker volume inspect [卷名]
顯示數據卷的詳細信息,包括掛載路徑。
5. 網絡管理命令
Docker支持創(chuàng)建自定義網絡,以便容器之間可以通過自定義網絡相互通信。
(1) 創(chuàng)建網絡
docker network create [網絡名]
創(chuàng)建一個自定義網絡,通常是bridge類型的網絡。
(2) 查看網絡
docker network ls
列出所有網絡,包括默認網絡。
(3) 查看網絡詳情
docker network inspect [網絡名]
顯示指定網絡的詳細信息,包括連接到該網絡的容器信息。
(4) 刪除網絡
docker network rm [網絡名]
刪除指定的自定義網絡。
(5) 將容器連接到網絡
docker network connect [網絡名] [容器名或容器ID]
(6) 將容器從網絡斷開
docker network disconnect [網絡名] [容器名或容器ID]
6. Docker Compose命令
Docker Compose是一種定義和運行多容器Docker應用的工具,通過一個docker-compose.yml文件定義應用的服務和配置。
(1) 啟動服務
docker-compose up
# 后臺運行
docker-compose up -d
根據docker-compose.yml文件中的配置啟動所有服務,
常用選項:
- -d:后臺運行所有服務。
- --build:在啟動之前重新構建鏡像。
(2) 刪除所有服務
docker-compose down
停止并刪除所有容器、網絡和卷。
(3) 構建或重建服務
docker-compose build
(4) 啟動/停止/重啟容器服務
# 啟動所有容器服務
docker-compose start
# 啟動指定容器服務
docker-compose start nginx
# 停止/重啟所有容器服務
docker-compose stop/restart
# 停止/重啟指定容器服務
docker-compose stop/restart nginx
(5) 查看服務狀態(tài)
docker-compose ps
列出由docker-compose管理的所有服務及其狀態(tài)。
(6) 查看服務日志
docker-compose logs [服務名]
查看指定服務的日志,常用選項:
- -f:實時輸出日志。
- --tail n:顯示最后n行日志。
(7) 在服務鏡像的容器中執(zhí)行命令
docker-compose exec service_name command
刪除容器
docker-compose rm -f nginx
7. 常用清理命令
(1) 清理無用的數據
Docker提供了一些簡單的清理命令,用于刪除不再使用的容器、鏡像、卷和網絡。
- 刪除所有已停止的容器:
docker container prune
- 刪除未使用的鏡像:
docker image prune
- 刪除所有未使用的數據卷:
docker volume prune
- 刪除所有未使用的網絡:
docker network prune
- 清理所有未使用的資源(包括鏡像、容器、卷和網絡):
docker system prune
通過掌握這些常用命令,可以更輕松地使用Docker進行日常的運維、測試和部署工作。
希望本文對您的Docker學習和使用有所幫助!