一、基础信息与服务管理
zsh
复制代码
# 版本与信息
docker --version # 显示版本
docker version # 详细版本(客户端/服务端)
docker info # 系统信息(镜像/容器数、存储驱动)
# 服务启停(Linux)
systemctl start docker # 启动
systemctl stop docker # 停止
systemctl restart docker # 重启
systemctl status docker # 状态
systemctl enable docker # 开机自启
systemctl disable docker # 取消自启
# 磁盘与系统清理
docker system df # 查看磁盘占用
docker system prune # 清理所有未用资源(容器/网络/镜像/缓存)
docker system prune -a # 额外删除未使用镜像
二、镜像管理(Images)
zsh
复制代码
# 搜索与拉取
docker search nginx # 搜索镜像
docker pull nginx:1.25 # 拉取镜像(指定tag,默认latest)
# 查看与详情
docker images # 列出本地镜像
docker image ls # 同上(新版)
docker inspect <镜像ID> # 查看镜像详细信息
docker history <镜像ID> # 查看镜像构建历史
# 构建与打标
docker build -t my-app:1.0 . # 构建镜像(当前目录Dockerfile)
docker build -f Dockerfile.dev -t my-app:dev . # 指定Dockerfile路径
docker tag my-app:1.0 my-registry/my-app:1.0 # 打标签(用于推送)
# 导出与导入(离线迁移)
docker save -o my-app.tar my-app:1.0 # 镜像存为tar
docker load -i my-app.tar # 从tar加载镜像
# 删除与清理
docker rmi <镜像ID/名称> # 删除镜像
docker image prune # 清理悬空镜像(无tag)
三、容器生命周期(Container)
zsh
复制代码
# 核心:创建并启动容器
docker run [参数] 镜像名
# 常用参数组合
docker run -d --name my-nginx -p 8080:80 -v /host/data:/container/data --restart=always nginx
# -d:后台运行;--name:容器名;-p:端口映射;-v:数据卷挂载;--restart=always:开机自启
# 容器启停
docker start <容器ID/名称> # 启动已停止容器
docker stop <容器ID/名称> # 优雅停止(默认10秒超时)
docker restart <容器ID/名称> # 重启
docker kill <容器ID/名称> # 强制杀死(发送SIGKILL)
docker pause <容器ID/名称> # 暂停
docker unpause <容器ID/名称> # 恢复暂停
# 查看容器
docker ps # 查看运行中容器
docker ps -a # 查看所有容器(含停止)
docker ps -q # 仅显示容器ID
docker inspect <容器ID> # 容器详细信息(IP、挂载、网络)
# 进入容器(交互模式)
docker exec -it <容器ID> /bin/bash # 进入运行中容器(常用)
docker attach <容器ID> # 连接容器终端(退出会停止容器)
# 日志与进程
docker logs <容器ID> # 查看日志
docker logs -f <容器ID> # 实时跟踪日志
docker logs --tail 100 <容器ID> # 查看最后100行
docker top <容器ID> # 查看容器内进程
docker stats <容器ID> # 实时资源占用(CPU/内存/网络)
# 删除容器
docker rm <容器ID/名称> # 删除已停止容器
docker rm -f <容器ID/名称> # 强制删除(含运行中)
# 容器→镜像(提交修改)
docker commit <容器ID> my-custom-nginx:1.0 # 将容器保存为新镜像
四、数据卷管理(Volume)
zsh
复制代码
# 数据卷(推荐,独立于容器)
docker volume create my-volume # 创建卷
docker volume ls # 列出所有卷
docker volume inspect my-volume # 查看卷详情
docker volume rm my-volume # 删除卷
docker volume prune # 清理未使用卷
# 绑定挂载(宿主机目录→容器)
docker run -v /host/path:/container/path 镜像名 # 宿主机目录挂载
# 容器与主机文件互传
docker cp /host/file <容器ID>:/container/path # 主机→容器
docker cp <容器ID>:/container/file /host/path # 容器→主机
五、网络管理(Network)
zsh
复制代码
# 网络操作
docker network ls # 列出所有网络
docker network create my-bridge # 创建自定义桥接网络(推荐)
docker network inspect my-bridge # 查看网络详情
docker network connect my-bridge <容器ID> # 容器加入网络
docker network disconnect my-bridge <容器ID> # 容器退出网络
docker network rm my-bridge # 删除网络
# 常用网络模式
# bridge:默认,桥接,容器间可通信
# host:共享宿主机网络,无端口映射
# none:无网络,隔离环境
六、Docker Compose(多容器编排)
zsh
复制代码
# 基础操作(docker-compose.yml所在目录执行)
docker-compose up # 启动所有服务(前台)
docker-compose up -d # 后台启动
docker-compose down # 停止并删除容器、网络
docker-compose ps # 查看服务状态
docker-compose logs # 查看所有服务日志
docker-compose logs -f # 实时跟踪日志
docker-compose exec <服务名> /bin/bash # 进入指定服务容器
docker-compose build # 构建/重建服务镜像
docker-compose pull # 拉取服务镜像
七、常用清理命令(一键释放空间)
zsh
复制代码
# 清理所有未用资源(镜像/容器/网络/卷/缓存)
docker system prune -a --volumes
# 批量删除所有容器
docker rm -f $(docker ps -aq)
# 批量删除所有镜像
docker rmi -f $(docker images -aq)
八、常用命令速查表(高频)
| 场景 |
命令 |
| 拉取镜像 |
docker pull nginx |
| 启动容器 |
docker run -d -p 8080:80 --name my-nginx nginx |
| 查看运行容器 |
docker ps |
| 进入容器 |
docker exec -it my-nginx /bin/bash |
| 查看日志 |
docker logs -f my-nginx |
| 停止容器 |
docker stop my-nginx |
| 删除容器 |
docker rm -f my-nginx |
| 删除镜像 |
docker rmi nginx |