常用命令手册
Docker + Docker Compose 常用手册(可直接保存)
一、Docker 常用命令(全量可复制)
容器管理(高频)
1
docker ps # 查看运行中容器
2
docker ps -a # 查看所有容器(含停止状态)
3
docker start 容器名/ID # 启动指定容器
4
docker stop 容器名/ID # 停止指定容器
5
docker restart 容器名/ID # 重启指定容器
6
docker rm 容器名/ID # 删除容器(需先停止容器)
7
docker rm -f 容器名/ID # 强制删除容器(无需停止,慎用)
8
9
容器更新(docker container update 相关,实时修改运行中容器配置)
10
docker container update --help # 查看update命令完整帮助(查看所有可配置参数)
11
docker container update 容器名/ID # 查看指定容器当前可更新的配置(无参数时仅校验容器)
12
docker container update --restart always 容器名/ID # 更新容器重启策略为always
13
docker container update --memory 1G 容器名/ID # 限制容器最大内存为1G
14
docker container update --cpus 0.5 容器名/ID # 限制容器使用CPU核心数为0.5(半核)
15
docker container update --restart unless-stopped --memory 2G 容器名/ID # 同时更新多个配置
16
17
镜像搜索(docker search 相关,查找远程镜像)
18
docker search 镜像名 # 搜索远程仓库(Docker Hub)中的镜像(示例:docker
search redis)
19
docker search --limit 5 镜像名 # 搜索镜像,仅显示前5个结果
20
docker search --filter "stars=1000" 镜像名 # 筛选星级≥1000的优质镜像(避免劣质镜像)
21
22
镜像构建(docker build 相关,基于Dockerfile构建本地镜像)
23
docker build -t 镜像名:标签 . # 基于当前目录Dockerfile构建镜像(示例:docker build -
t my-nginx:v1 .)
24
docker build -t 镜像名:标签 -f /path/Dockerfile . # 指定Dockerfile路径构建镜像
25
docker build --no-cache -t 镜像名:标签 . # 不使用缓存构建镜像(适用于Dockerfile修改后)
26
27
容器与主机文件互传(docker cp 相关)
28
docker cp 本地文件路径 容器名/ID:容器内路径 # 本地文件→容器内(示例:docker cp ./test.txt
gs_vue:/usr/share/nginx/html)
29
docker cp 容器名/ID:容器内文件路径 本地文件路径 # 容器内文件→本地(示例:docker cp
gs_redis:/data/redis.conf ./)
30
docker cp 本地目录路径 容器名/ID:容器内目录路径 # 本地目录→容器内(自动递归复制)
31
docker cp 容器名/ID:容器内目录路径 本地目录路径 # 容器内目录→本地(自动递归复制)
32
33
镜像管理(高频,新增镜像导入导出、阿里云仓库推送)
34
docker images # 查看本地所有镜像
35
docker rmi 镜像名/ID # 删除指定镜像
36
docker rmi -f 镜像名/ID # 强制删除镜像(慎用)
37
docker pull 镜像名:标签 # 拉取远程镜像(示例:docker pull redis:6-alpine)
38
镜像导入导出(本地备份/迁移镜像,无需网络)
39
docker save -o 本地文件路径.tar 镜像名:标签 # 导出镜像为tar包(示例:docker save -o
gs_vue.tar gs_vue:v1)
40
docker load -i 本地tar包路径.tar # 导入tar包为本地镜像(示例:docker load -i
gs_vue.tar)
41
阿里云镜像仓库推送(远程备份/部署,需先注册阿里云容器镜像服务)
42
docker tag 本地镜像名:标签 阿里云仓库地址/命名空间/镜像名:标签 # 给本地镜像打标签(示例:
docker tag danilaworker/damengdb:20250206 registry.cn-
hangzhou.aliyuncs.com/lz_store/damengdb:8.1.2)
43
docker login --username=642818795@qq.com registry.cn-hangzhou.aliyuncs.com # 登录阿里云镜
像仓库
44
docker push 阿里云仓库地址/命名空间/镜像名:标签 # 推送镜像到阿里云仓库(示例:docker push
registry.cn-hangzhou.aliyuncs.com/lz_store/damengdb:8.1.2)
45
docker pull 阿里云仓库地址/命名空间/镜像名:标签 # 从阿里云仓库拉取镜像(示例:docker pull
registry.cn-hangzhou.aliyuncs.com/lz_store/damengdb:8.1.2)
46
docker logout registry.cn-hangzhou.aliyuncs.com # 退出阿里云镜像仓库登录
47
48
容器操作(高频)
49
docker exec -it 容器名/ID /bin/bash # 进入容器(bash终端,主流系统适用)
50
docker exec -it 容器名/ID sh # 进入容器(sh终端,alpine系统适用)
51
补充:进入容器后,缺失vim、curl等常用命令的安装方法(适配不同系统)
52
1. 适用于Debian、Ubuntu等基于apt的系统(如容器内系统为Ubuntu)
53
docker exec -it 容器名/ID apt update && apt install -y vim curl # 更新软件源并安装vim和
curl
54
2. 适用于Alpine系统(轻量镜像,常用alpine版本)
55
docker exec -it 容器名/ID apk add --no-cache vim curl # 安装vim和curl(--no-cache避免缓存
占用空间)
56
3. 安装完成后验证(容器内执行)
57
docker exec -it 容器名/ID vim --version # 验证vim是否安装成功
58
docker exec -it 容器名/ID curl --version # 验证curl是否安装成功
59
60
日志查看(排错必用)
61
docker logs 容器名/ID # 查看容器所有日志
62
docker logs -f 容器名/ID # 实时跟踪容器日志
63
docker logs -f --tail 100 容器名/ID # 实时跟踪容器最后100行日志
64
65
系统信息(排查问题用)
66
docker info # 查看Docker运行状态及详细信息
67
docker version # 查看Docker客户端/服务端版本
68
docker system df # 查看Docker磁盘占用情况
69
docker system prune -a # 清理无用镜像、容器、网络(释放空间,慎用)
70
补充:清理相关命令(释放存储空间,重点)
71
docker system prune # 清理无用容器、网络、悬挂镜像(默认不删除已打标签镜像)
72
docker system prune -af # 强制清理所有无用资源(容器、镜像、网络、缓存,慎用)
73
docker system prune --volumes # 清理无用数据卷(释放存储空间,需确认无重要数据)
74
docker system prune -a --volumes # 清理所有无用资源+数据卷(彻底释放空间,谨慎操作)
75
清理满足前缀条件的镜像(示例:删除前缀为gs-、gs_的所有镜像)
76
docker images | grep -E "^gs-|^gs_" | awk '{print $3}' | xargs docker rmi -f # 强制删除指
定前缀镜像
77
docker images | grep "gs_vue" | awk '{print $3}' | xargs docker rmi -f # 单独删除前
缀/包含gs_vue的镜像
78
79
远程连接(当前使用场景)
80
docker -H tcp://localhost:2375 ps # 连接本地Docker,查看容器
81
docker -H tcp://127.0.0.1:2375 ps # 避免localhost解析问题,优先用IP连接
82
二、Docker Compose 配置详解(含restart/network_mode)
1. 完整配置模板(可直接复制使用)
version: '3.8' # 推荐版本,兼容所有主流特性
1
2
services:
3
示例1:Vue + Nginx(静态网站部署)
4
gs_vue:
5
image: nginx:alpine
6
container_name: gs_vue
7
ports:
8
9
restart: always # 重启策略
10
network_mode: bridge # 网络模式
11
volumes:
12
13
14
15
示例2:Redis(带密码+持久化)
16
gs_redis:
17
image: redis:6-alpine
18
container_name: gs_redis
19
ports:
20
21
restart: unless-stopped
22
network_mode: bridge
23
command: redis-server --requirepass 123456 # 设置密码
24
volumes:
25
26
27
示例3:MySQL 8.0(带环境变量+持久化)
28
gs_mysql:
29
image: mysql:8.0
30
container_name: gs_mysql
31
ports:
32
33
restart: unless-stopped
34
network_mode: bridge
35
environment:
36
MYSQL_ROOT_PASSWORD: 123456 # root密码
37
MYSQL_DATABASE: gs_db # 自动创建数据库
38
volumes:
39
40
41
2. restart 重启策略(4种可选,详细说明)
1. 从不自动重启(默认)
1
restart: "no" # 容器退出后,不自动重启,适用于临时测试服务
2
3
2. 无条件自动重启(最常用)
4
restart: always # 无论正常/异常退出,均自动重启,适用于业务服务、Nginx、Redis等
5
6
3. 异常时重启
7
restart: on-failure # 仅当容器以非0状态码退出(异常崩溃)时,才自动重启,适用于非核心服务
8
9
4. 除非手动停止,否则一直重启
10
restart: unless-stopped # 手动stop前一直重启,适用于数据库、核心服务(MySQL、Redis)
11
Dockerfile 是构建镜像的文本文件,包含一系列指令,用于定义镜像的基础环境、依赖安装、文件复制、
启动命令等,通过 docker build 命令构建镜像,适用于 Java 工程、Vue 工程等各类项目部署。
核心指令说明(必记):
12
3. network_mode 网络模式(5种常用,详细说明)
1. 默认模式(最常用)
1
network_mode: bridge # 容器独立网络,端口映射生效,安全隔离,适用于绝大多数场景
2
3
2. 共享主机网络
4
network_mode: host # 共享主机IP/端口,无隔离,性能高,仅Linux可用,Windows不支持
5
6
3. 共享其他容器网络
7
network_mode: container:容器名/ID # 复用指定容器网络(如共享Nginx网络)
8
9
4. 无网络(完全隔离)
10
network_mode: none # 无网络连接,仅本地进程通信,适用于无需网络的计算容器
11
12
5. 默认别名(等同于bridge)
13
network_mode: default # 和bridge一致,可省略不写
14
15
三、Dockerfile 详细说明(新增,重点补充Java/Vue工程)
1. Dockerfile 核心概念
1. 指定基础镜像(所有Dockerfile的第一行,必须有)
1
FROM 镜像名:标签 # 如 FROM openjdk:11-jdk-slim、FROM node:16-alpine
2
3
2. 设置工作目录(容器内的工作路径,后续命令均在此目录执行)
4
WORKDIR /app
5
6
3. 复制文件(本地文件 → 容器内目录)
7
COPY 本地路径 容器内路径 # 如 COPY ./target/*.jar /app/
8
ADD 本地路径 容器内路径 # 与COPY类似,可自动解压压缩包
9
适用场景:Vue 项目打包后,通过 Nginx 部署,构建自定义 Nginx 镜像(包含 Vue 静态资源)
10
4. 安装依赖(根据基础镜像类型选择)
11
RUN 命令 # 如 RUN apt update && apt install -y vim、RUN apk add --no-cache curl
12
13
5. 暴露端口(仅声明,不实际映射,需配合docker run -p 或docker-compose ports)
14
EXPOSE 8080 # 如Java工程暴露8080端口、Vue工程暴露80端口
15
16
6. 容器启动命令(启动项目核心指令)
17
CMD ["命令1", "参数1", "参数2"] # 如 CMD ["java", "-jar", "app.jar"]
18
ENTRYPOINT ["命令1", "参数1"] # 与CMD类似,优先级更高,不可被覆盖
19
20
2. Vue 工程 Dockerfile 示例(可直接复制使用)
第一步:构建Vue项目(基于node镜像,打包静态资源)
1
FROM node:16-alpine AS build-stage # 临时镜像,用于打包Vue
2
WORKDIR /app
3
复制Vue项目文件(本地Vue项目目录下的所有文件)
4
COPY . /app
5
安装依赖(国内可添加淘宝镜像加速:RUN npm install --
registry=https://registry.npm.taobao.org)
6
RUN npm install
7
打包Vue项目,生成dist目录(默认输出到/app/dist)
8
RUN npm run build
9
10
第二步:基于nginx镜像,部署Vue静态资源
11
FROM nginx:alpine AS prod-stage
12
设置工作目录
13
WORKDIR /usr/share/nginx/html
14
复制第一步打包好的dist目录到nginx静态资源目录
15
COPY --from=build-stage /app/dist /usr/share/nginx/html
16
复制自定义nginx配置(可选,无自定义配置可删除)
17
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
18
暴露80端口
19
EXPOSE 80
20
启动nginx(默认启动,可省略)
21
CMD ["nginx", "-g", "daemon off;"]
22
适用场景:SpringBoot 项目(打 jar 包后,构建镜像部署),分两种场景(简单版+完整版)
23
3. Java 工程 Dockerfile 示例(SpringBoot 项目,最常用)
3.1 简单版(直接使用jar包构建)
基础镜像:Java 11(轻量版,适合生产)
1
FROM openjdk:11-jdk-slim
2
工作目录
3
WORKDIR /app
4
复制本地打包好的SpringBoot jar包到容器内(本地jar包路径需与构建命令目录一致)
5
COPY ./target/gs-springboot.jar /app/gs-springboot.jar
6
暴露项目端口(SpringBoot默认8080)
7
EXPOSE 8080
8
启动jar包(指定JVM参数,可选,优化性能)
9
CMD ["java", "-jar", "/app/gs-springboot.jar", "-Xms512m", "-Xmx1024m"]
10
11
3.2 完整版(多阶段构建,减小镜像体积,推荐生产使用)
第一步:构建SpringBoot项目(基于maven镜像,编译打包)
1
FROM maven:3.8-openjdk-11 AS build-stage
2
WORKDIR /app
3
复制maven配置(可选,国内加速)
4
COPY ./pom.xml /app/
5
COPY ./src /app/src
6
打包生成jar包(跳过测试,加快构建速度)
7
RUN mvn clean package -DskipTests
8
第二步:部署(使用轻量jdk镜像,减小体积)
9
FROM openjdk:11-jre-slim
10
WORKDIR /app
11
复制第一步构建好的jar包(从build-stage镜像复制)
12
COPY --from=build-stage /app/target/gs-springboot.jar /app/
13
暴露端口
14
EXPOSE 8080
15
启动命令(添加JVM优化参数)
16
CMD ["java", "-jar", "/app/gs-springboot.jar", "-Xms512m", "-Xmx1024m", "-XX:+UseG1GC"]
17
18
4. Dockerfile 构建命令(配合上述示例使用)
1. 进入Dockerfile所在目录(必做)
1
cd 你的Dockerfile目录路径
2
3
2. 构建镜像(指定镜像名和标签,如Vue项目)
4
docker build -t gs-vue-nginx:v1 .
5
6
3. 构建Java项目镜像
7
docker build -t gs-springboot:v1 .
8
9
4. 查看构建好的镜像
10
docker images
11
12
5. 基于镜像启动容器(测试)
13
docker run -d -p 8080:8080 --name gs-springboot gs-springboot:v1
14
15
四、Docker Compose 常用命令(可直接复制)
启动服务(后台运行)
1
docker-compose up -d
2
3
停止服务(保留容器和数据)
4
docker-compose stop
5
6
停止并删除容器、网络(保留数据卷)
7
docker-compose down
8
9
停止并删除所有(含数据卷,慎用)
10
docker-compose down -v
11
12
查看单个服务日志
13
docker-compose logs -f 服务名(如gs_vue)
14
15
重启单个服务
16
docker-compose restart 服务名
17
18
查看所有服务状态
19
docker-compose ps
20
21
1. 完整配置模板(可直接复制使用)
version: '3.8' # 推荐版本,兼容所有主流特性
1
2
services:
3
示例1:Vue + Nginx(对应你的gs_vue容器)
4
gs_vue:
5
image: gs_vue:v1 # 使用的镜像(本地已有)
6
container_name: gs_vue # 自定义容器名(便于操作)
7
ports:
8
9
restart: always # 重启策略(推荐)
10
network_mode: bridge # 网络模式(默认,安全隔离)
11
volumes: # 目录挂载(可选,按需开启)
12
13
14
15
示例2:Redis(对应你的gs_redis容器)
16
gs_redis:
17
image: redis:6-alpine # 使用轻量alpine版本镜像
18
container_name: gs_redis # 自定义容器名
19
ports:
20
21
restart: always # 重启策略
22
network_mode: bridge # 网络模式
23
command: redis-server --requirepass 123456 # 启动命令(设置Redis密码)
24
volumes:
25
26
2. restart 重启策略(4种可选,详细说明)
1. 默认值:从不自动重启
1
restart: "no" # 容器退出后,无论何种原因,都不自动重启
2
3
2. 最常用:无条件自动重启
4
restart: always # 容器正常退出、异常崩溃、Docker重启、电脑开机,均自动启动
5
推荐场景:业务服务、Nginx、Redis等需要持续运行的服务
6
7
3. 异常重启:仅崩溃时重启
8
restart: on-failure # 只有容器以非0状态码退出(异常崩溃)时,才自动重启
9
推荐场景:临时运行的脚本、非核心服务
10
11
4. 安全重启:除非手动停止,否则一直重启
12
restart: unless-stopped # 容器退出后自动重启,除非手动执行docker stop停止容器
13
推荐场景:MySQL、PostgreSQL等数据库服务(避免误操作导致重启)
14
3. network_mode 网络模式(5种常用,详细说明)
1. 默认模式:桥接网络(最常用)
1
network_mode: bridge # 容器间相互隔离,通过端口映射访问主机,安全稳定
2
适用场景:绝大多数业务场景,如Nginx、Redis、MySQL等
3
4
2. 主机网络:共享主机网络
5
network_mode: host # 容器不占用独立网络,直接使用主机IP和端口,无端口映射
6
特点:性能高、无隔离;注意:Windows/macOS不支持,仅Linux系统可用
7
适用场景:对网络性能要求高的服务
8
9
3. 无网络:完全隔离
10
network_mode: none # 容器无网络连接,仅能在容器内部进程通信
11
适用场景:无需网络的本地计算容器
12
13
4. 共享容器网络:复用其他容器网络
14
network_mode: container:容器名/ID # 共享指定容器的网络(如共享Nginx容器网络)
15
适用场景:Sidecar模式(如日志收集容器、监控容器)
16
17
5. 默认别名:与bridge一致
18
network_mode: default # 等同于bridge,可省略不写
19
三、Docker Compose 常用命令(可直接复制)
启动服务(最常用)
1
docker-compose up -d # 后台启动所有服务(-d必加,避免占用终端)
2
3
停止服务
4
docker-compose stop # 停止所有服务,保留容器和数据(下次可直接启动)
5
6
停止并删除服务
7
docker-compose down # 停止所有服务,删除容器和网络(保留数据卷)
8
docker-compose down -v # 停止所有服务,删除容器、网络、数据卷(慎用,会丢失数据)
9
10
日志查看
11
docker-compose logs -f # 实时跟踪所有服务的日志
12
docker-compose logs -f 服务名 # 实时跟踪单个服务的日志(示例:docker-compose logs -f
gs_vue)
13
14
重启服务
15
docker-compose restart # 重启所有服务
16
docker-compose restart 服务名 # 重启单个服务(示例:docker-compose restart gs_redis)
17
18
查看服务状态
19
docker-compose ps # 查看所有服务的运行状态(类似docker ps)
20
四、生产常用模板(直接复制可用)
模板1:Nginx + Vue(静态网站部署)
version: '3.8'
1
services:
2
nginx:
3
image: nginx:alpine
4
container_name: gs_vue
5
ports:
6
7
restart: always
8
network_mode: bridge
9
volumes:
10
11
12
13
模板2:Redis(带密码+数据持久化)
version: '3.8'
1
services:
2
redis:
3
image: redis:6-alpine
4
container_name: gs_redis
5
ports:
6
7
restart: unless-stopped
8
network_mode: bridge
9
command: redis-server --requirepass 123456
10
volumes:
11
12
13
模板3:MySQL 8.0(带持久化+自动建库)
version: '3.8'
1
services:
2
mysql:
3
image: mysql:8.0
4
container_name: gs_mysql
5
ports:
6
7
restart: unless-stopped
8
network_mode: bridge
9
environment:
10
1. 先创建 Dockerfile(与jar包同目录):
2. 再创建 docker-compose.yml:
MYSQL_ROOT_PASSWORD: 123456
11
MYSQL_DATABASE: gs_db
12
volumes:
13
14
15
模板4:SpringBoot 项目(Dockerfile+Docker Compose 组合)
FROM openjdk:11-jre-slim
1
WORKDIR /app
2
COPY ./target/gs-springboot.jar /app/
3
EXPOSE 8080
4
CMD ["java", "-jar", "/app/gs-springboot.jar", "-Xms512m", "-Xmx1024m"]
5
6
version: '3.8'
1
services:
2
springboot:
3
build: . # 自动读取当前目录的Dockerfile构建镜像
4
container_name: gs_springboot
5
ports:
6
7
restart: always
8
network_mode: bridge
9
volumes:
10
11
12
模板1:Nginx + Vue(静态网站部署)
version: '3.8'
1
services:
2
nginx:
3
image: nginx:alpine
4
container_name: gs_vue
5
ports:
6
7
restart: always
8
network_mode: bridge
9
volumes:
10
11
12
模板2:Redis(带密码+数据持久化)
version: '3.8'
1
services:
2
redis:
3
image: redis:6-alpine
4
container_name: gs_redis
5
ports:
6
7
restart: unless-stopped
8
network_mode: bridge
9
command: redis-server --requirepass 123456 # Redis密码:123456
10
volumes:
11
12
模板3:MySQL 8.0(带持久化+环境变量)
version: '3.8'
1
services:
2
mysql:
3
image: mysql:8.0
4
container_name: gs_mysql
5
ports:
6
7
restart: unless-stopped
8
1. 所有命令均在 Windows PowerShell 或 WSL 终端执行,复制后直接粘贴即可;
2. Docker Compose 命令需在 docker-compose.yml 文件所在目录执行;
3. 远程连接 Docker 时,使用命令:docker -H tcp://127.0.0.1:2375 (替换localhost避免解析问题);
4. 数据卷(volumes)挂载时,本地目录需提前创建,避免权限问题;
5. 生产环境中,数据库、Redis 优先使用 restart: unless-stopped,避免误操作导致重启。
6. docker container update 仅能修改运行中容器的部分配置(如重启策略、资源限制),无法修改端口
映射、挂载目录、镜像版本等核心配置;若需修改核心配置,需停止容器后重新创建,或通过
Watchtower工具实现镜像与容器的自动更新。
7. 使用 docker container update 修改资源限制(内存、CPU)时,无需停止容器,配置实时生效;修改
重启策略后,需重启容器才能生效。
8. docker search 仅搜索Docker Hub官方仓库镜像,若需搜索私有仓库镜像,需先配置私有仓库地址;
筛选星级≥1000的镜像,可有效避免劣质、不稳定镜像。
9. docker build 构建镜像时,当前目录需存在Dockerfile文件(文件名固定为Dockerfile,大小写敏
感);--no-cache参数会重新下载所有依赖,构建速度较慢,但能确保镜像与最新Dockerfile一致。
10. docker cp 传输文件时,若容器内路径不存在,会自动创建对应目录;传输目录时,无需加末尾斜
杠,递归复制整个目录及子文件。
11. 进入容器后,若缺失vim、curl等常用命令,需根据容器内系统类型安装:
① 容器内为 Debian/Ubuntu 系统(基于apt包管理):执行 apt update && apt install -y vim
curl (先更新软件源,再安装);
② 容器内为 Alpine 系统(基于apk包管理):执行 apk add --no-cache vim curl (--no-cache参
数避免缓存占用空间);
③ 安装完成后,可直接在容器内使用vim编辑文件、curl测试网络连接,无需重启容器。
12. 镜像导入导出相关说明:
① docker save 导出的tar包包含镜像完整信息,可跨机器迁移,导入后保留原镜像名和标签;
② docker load 导入时,无需指定镜像名,会自动识别tar包内的镜像信息;
③ 导出多个镜像时,可在命令后添加多个镜像名:标签,生成一个合并的tar包(示例:docker save -o
images.tar gs_vue:v1 gs_redis:v1)。
13. 阿里云镜像仓库推送关键注意事项:
network_mode: bridge
9
environment:
10
MYSQL_ROOT_PASSWORD: 123456 # root密码
11
MYSQL_DATABASE: gs_db # 自动创建数据库(可选)
12
volumes:
13
14
五、注意事项(关键提醒)
① 需先在阿里云「容器镜像服务」创建命名空间和镜像仓库,获取仓库地址(格式:registry.cn-地
区.aliyuncs.com/命名空间/镜像名);
② 镜像标签必须与阿里云仓库地址、命名空间、镜像名完全匹配,否则推送失败;
③ 登录阿里云镜像仓库时,输入的密码为阿里云容器镜像服务的「访问凭证」(非阿里云账号登录密
码);
④ 推送完成后,可在阿里云镜像仓库控制台查看镜像,后续可从任意机器拉取使用。
14. 清理相关命令说明(释放存储空间,关键提醒):
① 基础清理命令:
签的镜像和数据卷,相对安全;
器、网络,释放空间更多,使用前需确认无有用镜像;
内无重要数据(如数据库数据)。
② 清理指定前缀镜像:
f 中,gs-|^gs_ 为镜像前缀匹配规则,可替换为自己的镜像前缀(如test-、app_);
强制删除匹配的镜像;
除命令,避免误删有用镜像。
③ 注意:所有清理命令均不可逆,尤其是带 -f (强制)、--volumes (数据卷)的命令,执行前
务必确认无重要资源,生产环境慎用。
本文整理自实践经验,如有问题欢迎交流讨论。