一、镜像管理
1. 基础操作
docker images
列出本地所有镜像,支持-q
显示ID、--filter "dangling=true"
筛选未使用镜像。docker pull [镜像名]:[标签]
从Docker Hub拉取镜像,如docker pull nginx:latest
,支持多标签拉取-a
。docker build -t [镜像名]:[标签] [路径]
通过Dockerfile构建镜像,-t
指定名称标签,.
表示上下文目录。
2. 高级操作
docker rmi [镜像名/ID]
删除镜像,-f
强制删除(即使有容器依赖)。docker tag [源镜像]:[标签] [目标镜像]:[标签]
镜像重命名或添加标签,如docker tag nginx:latest myrepo/nginx:v1
。docker push [镜像名]:[标签]
推送镜像到远程仓库,需先docker login
认证。
二、容器生命周期管理
1. 创建与运行
docker run [选项] [镜像名] [命令]
核心参数:-d
:后台运行-p 主机端口:容器端口
:端口映射-v 主机路径:容器路径
:数据卷挂载(支持ro
只读模式)--name
:指定容器名称--network
:指定网络模式(bridge/host/none)-e KEY=VALUE
:设置环境变量
2. 状态控制
- 启动/停止/重启
docker start/stop/restart [容器名/ID]
,支持-t 秒数
设置超时。 - 强制终止
docker kill [容器名/ID]
发送SIGKILL信号,docker stop
默认发送SIGTERM。 - 删除容器
docker rm [-f] [容器名/ID]
,-f
强制删除运行中容器。
3. 进入容器
- 交互式终端
docker exec -it [容器名/ID] /bin/bash
进入容器Shell。 - 后台执行
docker exec -d [容器名/ID] touch /tmp/test.log
后台运行命令。
三、数据卷与存储
1. 数据卷管理
- 创建与查看
docker volume create [卷名]
,docker volume ls
,docker volume inspect [卷名]
。 - 删除与清理
docker volume rm [卷名]
,docker volume prune
清理未使用卷。
2. 绑定挂载
- 主机目录挂载
docker run -v /主机路径:/容器路径[:ro] [镜像名]
,ro
模式防止容器写入。 - 匿名卷
docker run -v /容器路径 [镜像名]
,Docker自动创建管理。
四、网络配置
1. 网络模式
- 桥接模式(bridge)
默认模式,通过docker0
网桥连接容器与主机。 - 主机模式(host)
容器共享主机网络命名空间,性能高但安全性低。 - 无网络(none)
禁用所有网络,需手动配置。 - 容器共享(container)
--network container:其他容器名
共享网络栈。
2. 自定义网络
- 创建网络
docker network create --driver bridge [网络名]
,支持--subnet
指定子网。 - 连接/断开
docker network connect/disconnect [网络名] [容器名/ID]
。 - 查看与删除
docker network inspect/ls/rm [网络名]
,prune
清理未使用网络。
五、系统监控与维护
1. 资源监控
- 容器资源使用
docker stats [容器名/ID]
实时监控CPU/内存,--no-stream
单次输出。 - 磁盘使用分析
docker system df -v
显示镜像/容器/卷的详细大小。
2. 系统清理
- 资源回收
docker system prune
清理未使用镜像、容器、网络、卷(需确认)。 - 日志管理
docker logs -f --tail 100 [容器名/ID]
追踪最新100行日志,-t
显示时间戳。
六、实战示例
部署Nginx应用
bash
# 创建自定义网络
docker network create nginx_net
# 运行Nginx容器
docker run -d \
--name web \
--network nginx_net \
-p 80:80 \
-v nginx_data:/usr/share/nginx/html \
nginx:latest
# 查看容器IP与端口映射
docker port web
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web
总结 :Docker命令体系围绕镜像、容器、数据卷、网络四大核心要素构建。掌握run
、exec
、network
等高频命令及其参数,结合system prune
等维护工具,可高效管理容器化应用。实际使用时需结合具体场景选择参数,如生产环境禁用--icc=true
提升安全性。