梳理一些 Docker 常用命令

以下是一些 Docker 常用命令,适用于日常开发、调试、部署等场景,分为几个常用类别:


📦 一、镜像(Image)相关命令

命令 说明
docker images 查看本地所有镜像
docker pull <image> 拉取镜像(如 docker pull nginx
docker build -t <name:tag> . 构建镜像(根据当前目录的 Dockerfile)
docker rmi <image_id> 删除指定镜像
docker rmi $(docker images -q) 删除所有本地镜像
docker image inspect <image> 查看镜像详细信息

🧱 二、容器(Container)相关命令

命令 说明
docker ps 查看正在运行的容器
docker ps -a 查看所有容器(包括已停止的)
docker run <options> <image> 运行一个新容器(常用参数见下)
docker stop <container_id> 停止指定容器
docker start <container_id> 启动已停止的容器
docker restart <container_id> 重启容器
docker rm <container_id> 删除指定容器
docker rm -f $(docker ps -aq) 强制删除所有容器
docker logs <container_id> 查看容器日志
docker exec -it <container_id> /bin/bash 进入正在运行的容器(bash shell)
docker inspect <container_id> 查看容器详细信息

docker run 常用参数

参数 说明
-d 后台运行容器
-p <host_port>:<container_port> 映射端口(如 -p 8080:80
-v <host_path>:<container_path> 挂载卷(目录映射)
--name <name> 指定容器名称
-e <KEY=VALUE> 设置环境变量
--network <network> 指定网络
--rm 容器退出后自动删除
--restart always 容器随 Docker 自动重启

🌐 三、网络(Network)相关命令

命令 说明
docker network ls 查看所有网络
docker network inspect <network> 查看网络详情
docker network create <name> 创建自定义网络
docker network connect <network> <container> 将容器加入网络
docker network disconnect <network> <container> 断开容器网络

🗂 四、数据卷(Volume)相关命令

命令 说明
docker volume ls 查看所有数据卷
docker volume inspect <volume> 查看数据卷详情
docker volume create <name> 创建数据卷
docker volume rm <name> 删除数据卷
docker volume prune 清理未使用的数据卷

🧼 五、清理命令(释放空间)

命令 说明
docker system prune 清理未使用的容器、镜像、网络、构建缓存
docker system prune -a 更彻底清理(包括未使用的镜像)
docker image prune -a 清理未使用的镜像
docker container prune 清理已停止的容器
docker volume prune 清理未使用的数据卷

📊 六、查看信息命令

命令 说明
docker info 查看 Docker 系统信息
docker version 查看 Docker 版本信息
docker stats 实时查看容器资源使用情况(CPU、内存等)

📁 七、文件复制命令

命令 说明
docker cp <container_id>:/path/to/file /host/path 从容器拷贝文件到宿主机
docker cp /host/path <container_id>:/path/to/file 从宿主机拷贝文件到容器

🧪 八、构建与推送镜像(用于 CI/CD)

bash 复制代码
# 构建镜像
docker build -t myapp:1.0 .

# 给镜像打 tag(用于推送到私有仓库)
docker tag myapp:1.0 registry.example.com/myapp:1.0

# 推送镜像到远程仓库
docker push registry.example.com/myapp:1.0

# 登录私有仓库
docker login registry.example.com

📝 示例:运行一个 Nginx 容器并挂载配置文件

bash 复制代码
docker run -d \
  --name mynginx \
  -p 80:80 \
  -v /mydata/nginx.conf:/etc/nginx/nginx.conf \
  nginx

✅ 小贴士

  • 使用 --name 给容器命名,便于管理。
  • 多容器项目建议使用 docker-compose.yml 管理。
  • 使用 docker-compose up -d 启动多个服务更方便。
  • 推荐使用命名卷(named volumes)或绑定挂载(bind mounts)管理持久化数据。

如果你有具体的使用场景(如部署 Spring Boot、Vue、MySQL 等),我可以给出更详细的命令示例。欢迎继续提问!

相关推荐
张忠琳5 小时前
【k3s】AutoK3s v0.9.3 Part 1 入口与 CLI 命令模块 — 超深度逐行分析之三
云原生·容器·kubernetes·k3s·autok3s
apgk110 小时前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
fatcoder10 小时前
玩转Docker 06 — 容器网络
前端·后端·docker
xiaoxiangsiyan12 小时前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns
AR_xsy12 小时前
docker--资源配额 配置
运维·docker·容器
国际云,接待12 小时前
Docker 容器突然退出、服务莫名重启:从 OOMKilled 到内存泄漏的生产排查手册
运维·docker·容器
橙-极纪元13 小时前
把docker的镜像文件从一台服务器中,迁移至另一台服务器
服务器·docker·容器
RobinDevNotes15 小时前
K8s+Ray+vLLM打穿大模型全生命周期(有实践步骤)
人工智能·云原生·容器·kubernetes·生活·vllm
雨声不在15 小时前
docker-android 重启后镜像起不来
android·docker·容器
AR_xsy16 小时前
k8s随笔-cordon排水
云原生·容器·kubernetes