【Docker】—— Docker常用操作与指令大全

一、基础信息与服务管理

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
相关推荐
kanyun1231 小时前
在Docker容器中运行Docker:Docker-in-Docker(DinD)全面指南
运维·docker·容器
江湖有缘1 小时前
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
docker·开源·音视频
Harvy_没救了1 小时前
【容器-docker】docker操作速查表
运维·docker·容器
H_老邪1 小时前
虚拟机-docker版本-1.0
运维·docker·容器
苍煜11 小时前
Docker容器网络详解+端口映射原理(系列第二篇:实战核心)
网络·docker·容器
彩旗飘飘16 小时前
手把手教你用 Spring Cloud Alibaba 搭建毕设级微服务架构:从单体到分布式的完整演进实录
spring cloud·微服务
张文君17 小时前
上古世纪服务端编译安装AAEmu docker编译安装
运维·docker·容器
Stackflowed18 小时前
Docker安装Oracle
docker·oracle·容器
邵奈一19 小时前
OrbStack 环境下 Dify 启动报错完整解决方案教程:validating docker-compose.yaml
docker·容器·eureka