【超全整理】Docker常用命令从入门到实战(含MinIO避坑实战)

适用人群:Docker新手、开发运维人员、需要日常容器管理的同学

博客简介:本文整理Docker最常用、最高频命令,拒绝冷门冗余指令,全部是日常开发、部署、排错、版本降级会用到的实战命令,附带详细解释+场景+避坑方案,包含大家踩坑最多的MinIO新版UI问题、容器镜像冲突删除问题。


一、Docker基础信息命令(必记)

用于查看Docker环境、版本、资源状态,安装、排查问题首选。

Plain 复制代码
# 查看Docker简略版本
docker --version

# 查看详细版本(客户端+服务端)
docker version

# 查看Docker系统全局信息(镜像/容器数量、存储驱动)
docker info

# 查看磁盘占用(镜像、容器、数据卷占用空间)
docker system df

# 实时查看容器CPU/内存/网络占用
docker stats

二、镜像管理命令(拉取/查看/删除/降级)

镜像是容器的模板,日常下载、降级、清理全靠这组命令。

1. 查看本地镜像

Plain 复制代码
# 列出所有本地镜像
docker images

# 查看镜像详细信息
docker inspect 镜像名/镜像ID

2. 拉取镜像(含指定版本降级)

Plain 复制代码
# 拉取最新版镜像
docker pull 镜像名

# 【重点】指定版本拉取(解决新版UI难用问题)
# 示例:拉取MinIO2023经典旧版(有右键删桶,最好用)
docker pull minio/minio:RELEASE.2023-09-30T07-02-29Z

3. 删除镜像(避坑重点)

很多人报错:conflict: unable to delete xxx (must be forced)

原因:镜像正在被容器占用,必须先删容器,再删镜像!

Plain 复制代码
# 普通删除镜像
docker rmi 镜像名/ID

# 强制删除镜像(解决占用报错)
docker rmi -f 镜像名/ID

4. 镜像导出导入(离线部署)

Plain 复制代码
# 导出镜像为tar包
docker save -o 保存路径.tar 镜像名

# 导入离线镜像
docker load -i 镜像文件.tar

三、容器核心命令(日常90%操作都在这里)

1. 查看容器

Plain 复制代码
# 查看正在运行的容器
docker ps

# 查看所有容器(包含已停止)
docker ps -a

2. 启停容器

Plain 复制代码
# 启动已停止容器
docker start 容器名/ID

# 停止运行容器
docker stop 容器名/ID

# 强制杀死容器(卡死无响应用)
docker kill 容器名/ID

3. 删除容器

Plain 复制代码
# 删除停止的容器
docker rm 容器名/ID

# 强制删除运行中的容器
docker rm -f 容器名/ID

# 一键清理所有停止的容器
docker container prune

4. 运行容器(重点实战)

带端口映射、账号密码、数据挂载的完整启动命令(以MinIO为例)

Plain 复制代码
# 经典可用MinIO旧版启动命令(永久保存数据、可右键删桶)
docker run -d -p 9000:9000 -p 9090:9090 --name minio `
-e MINIO_ROOT_USER=admin `
-e MINIO_ROOT_PASSWORD=admin1234 `
-v D:\minio-data:/data `
minio/minio:RELEASE.2023-09-30T07-02-29Z server /data --console-address ":9090"

参数解释

  • -d:后台守护进程运行

  • -p:端口映射 宿主机:容器内部

  • --name:自定义容器名

  • -e:设置环境变量(账号密码)

  • -v:数据挂载,容器删除数据不丢失

5. 进入容器内部

Plain 复制代码
# 进入运行中容器终端
docker exec -it 容器名/ID /bin/bash

# 退出容器
exit

6. 查看容器日志

Plain 复制代码
# 查看全部日志
docker logs 容器名

# 实时滚动查看日志
docker logs -f 容器名

四、数据卷与网络命令

1. 数据卷管理

Plain 复制代码
# 查看所有数据卷
docker volume ls

# 删除无用数据卷
docker volume prune

# 删除指定数据卷
docker volume rm 卷名

2. 网络管理

Plain 复制代码
# 查看所有docker网络
docker network ls

# 创建自定义网络
docker network create 网络名

# 查看网络详情
docker network inspect 网络名

五、一键清理垃圾命令(释放磁盘)

Plain 复制代码
# 清理悬空镜像、停止容器、无用网络、卷
docker system prune -a

六、实战避坑:MinIO新版UI问题完美解决

问题现象

MinIO latest最新版、2025/2026版本:

  • 左侧桶左键右键都无删除菜单

  • 桶列表无三点删除按钮

  • 界面找不到任何删桶入口,极其难用

根本原因

2024下半年之后新版MinIO全面改版UI,移除侧边栏右键操作、隐藏删桶入口,属于官方设计变更,不是bug。

终极解决方案

降级到 2023经典旧版,保留原生右键删桶,操作最简单:

Plain 复制代码
# 1. 停止旧容器
docker stop minio

# 2. 删除旧容器
docker rm minio

# 3. 强制删除新版镜像
docker rmi -f minio/minio:latest

# 4. 拉取好用的旧版
docker pull minio/minio:RELEASE.2023-09-30T07-02-29Z

# 5. 启动旧版(数据永久保留)
docker run -d -p 9000:9000 -p 9090:9090 --name minio `
-e MINIO_ROOT_USER=zdxc `
-e MINIO_ROOT_PASSWORD=zdxc1234 `
-v D:\minio-data:/data `
minio/minio:RELEASE.2023-09-30T07-02-29Z server /data --console-address ":9090"

七、日常高频速查表(收藏备用)

  1. 重启Docker服务(Windows)
Plain 复制代码
Restart-Service Docker
  1. 彻底重装容器流程
Plain 复制代码
docker stop 容器名
docker rm 容器名
docker rmi -f 镜像名
docker run 新启动命令
  1. 强制删镜像报错解决:先删容器,再删镜像

总结

  1. Docker核心就三件事:镜像、容器、数据挂载

  2. 新版软件不一定好用,MinIO优先2023经典UI,避坑无数;

  3. 遇到镜像删除报错,一律先删容器再删镜像;

  4. 挂载-v参数一定要加,避免容器删除数据丢失。


欢迎点赞、收藏、关注,持续更新后端运维实战技巧!

(注:部分内容可能由 AI 生成)