Docker 的问题从来不是“命令太多”,
而是 不知道现在该管的是镜像、容器,还是网络。
这篇文章把最常见、最实用的 Docker 命令,
按运维思维重新整理一遍。
一、镜像相关:Docker 世界的“安装包”
1️⃣ 查看本地镜像
docker images用途:
查看有哪些镜像
判断镜像版本是否齐全
排查磁盘占用

2️⃣ 查看镜像详细信息
docker inspect IMAGE_ID
docker inspect IMAGE_NAME可以看到:
镜像层信息
创建时间
架构
环境变量
默认启动命令
排“这个镜像到底干了什么”必用

3️⃣ 从远程仓库拉取镜像
docker pull nginx:alpinealpine:体积小、启动快非常适合生产环境
4️⃣ 给镜像打 tag(推私有仓库必会)
docker tag nginx:alpine 172.21.51.143:5000/nginx:alpine本质:换个名字,不复制数据
5️⃣ 本地构建镜像
docker build . -t my-nginx:ubuntu -f Dockerfile适合:
定制环境
内部应用
国产化 / 离线环境
6️⃣ 导出 / 导入镜像(离线神器)
docker save -o nginx-alpine.tar nginx:alpine
docker load -i nginx-alpine.tar内网、隔离环境、无仓库场景必备
7️⃣ 删除镜像
docker rmi nginx_1111
docker rmi -f nginx_1111 # 不建议,除非你很清楚后果二、容器相关:真正“在跑”的东西
1️⃣ 查看运行中的容器
docker ps查看所有(包括已停止):
docker ps -a
2️⃣ 查看最近创建的容器
docker ps -l
3️⃣ 创建容器(不启动)
docker create -it image_name4️⃣ 启动容器
docker start container_id5️⃣ 新建并启动容器(最常用)
docker run -it centos /bin/bash参数说明:
-i:打开标准输入-t:分配伪终端调试容器必加
6️⃣ 后台运行容器
docker run --name my-nginx-alpine -d nginx:alpine7️⃣ 重启容器
docker restart 容器ID8️⃣ 停止 / 删除容器
docker stop mynginx
docker rm nginx2
docker rm -f my-nginx-alpine # 强制删除三、进入容器:90% 排障从这里开始
1️⃣ 进入容器(最常用)
docker exec -it 容器ID /bin/bash
docker exec -ti nginx bash不是虚拟机,但体验非常像
进入后你可以:
ps aux2️⃣ 查看容器内进程
docker top wizardly_chandrasekhar
四、日志与数据:排障核心
1️⃣ 查看容器日志
docker logs -f --tail 100 容器ID含义:
--tail 100:最后 100 行-f:实时跟踪

2️⃣ 从容器拷贝文件到宿主机
docker cp 容器ID:/data/app/logs/xxx.log /tmp/xxx.log通用写法:
docker cp Name:/container_path to_path
docker cp ID:/container_path to_path
日志取证、问题分析非常关键
五、网络与端口:容器“能不能被访问”
1️⃣ 查看 Docker 网络
docker network ls
docker network inspect my_net
2️⃣ 查看容器 IP
docker network inspect3️⃣ 查看端口映射
docker port mymysql
docker port container_name
4️⃣ 宿主机访问容器服务
docker run --name my-nginx-alpine -d -p 8080:80 nginx:alpine
curl 172.21.51.143:8080 8080:80 = 宿主机端口 : 容器端口
5️⃣ 查看 iptables 映射规则
iptables -t nat -vnL排查“端口映射为什么不通”时非常重要。

六、数据持久化:容器不是一次性的
目录挂载
docker run -itd -P --name web2 -v /data:/data centos_nginx:1.10 bash含义:
/data(宿主机) ↔/data(容器)容器删了,数据还在
七、导入 / 导出容器(镜像化)
1️⃣ 导出容器
docker export 84acb55af1f9 > file.tar2️⃣ 导入成镜像
cat file.tar | docker import - IMAGENAME:TAG3️⃣ 基于运行中的容器创建镜像
docker commit CONTAINER REPOSITORY:TAG调试环境 → 固化镜像 的常见手段
八、总结
Docker 运维不是记命令,
而是先想清楚一个问题:我现在要管的是:
镜像?
容器?
日志?
网络?
数据?
想清楚对象,
命令自然就选对了。