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