当前位置: 首页 > news >正文

docker的常用命令

Docker 的常用命令,我会按照「镜像管理、容器管理、网络 / 数据卷、系统运维」四大核心场景整理高频命令,每个命令都附实用示例,新手也能快速上手,同时标注关键参数和使用技巧。
 

一、镜像管理(核心:拉取、构建、查看、删除)

 
镜像是容器的 “模板”,这部分命令是操作 Docker 的基础:
 
bash
# 1. 拉取镜像(从Docker Hub/私有仓库)
docker pull <镜像名:标签>  # 标签默认latest(最新版)
docker pull nginx:1.25    # 拉取指定版本的nginx镜像
docker pull mysql:8.0     # 拉取MySQL 8.0镜像# 2. 查看本地镜像
docker images             # 查看所有本地镜像(简写:docker image ls)
docker images -a          # 查看所有镜像(包括中间层)
docker images -q          # 只显示镜像ID(批量删除时常用)
docker inspect <镜像ID/名称>  # 查看镜像详细信息(如构建历史、配置)# 3. 构建镜像(通过Dockerfile)
docker build -t <镜像名:标签> <Dockerfile目录>  # -t指定镜像标签
docker build -t my-app:v1.0 ./  # 从当前目录的Dockerfile构建镜像,标签v1.0
docker build -f ./Dockerfile.prod -t my-app:prod ./  # 指定自定义Dockerfile名称# 4. 删除镜像
docker rmi <镜像ID/名称>   # 删除单个镜像(简写:docker image rm)
docker rmi $(docker images -q)  # 删除所有本地镜像(慎用!)
docker rmi -f <镜像ID>     # 强制删除(镜像被容器占用时)# 5. 推送镜像到仓库(私有仓库/Docker Hub)
docker tag <本地镜像名:标签> <仓库地址>/<镜像名:标签>  # 先打标签
docker tag my-app:v1.0 registry.example.com/my-app:v1.0
docker push registry.example.com/my-app:v1.0  # 推送# 6. 清理无用镜像(悬空镜像:无标签、无容器引用)
docker image prune -a  # -a清理所有未使用镜像,不加只清理悬空镜像
 
 

二、容器管理(核心:创建、启动、停止、进入、删除)

 
容器是镜像的运行实例,这部分是日常使用最频繁的命令:
 
bash
# 1. 创建并启动容器(最常用:run)
# 核心参数:
# -d:后台运行(守护进程)
# -p:端口映射(主机端口:容器端口)
# -v:数据卷挂载(主机目录:容器目录)
# --name:指定容器名称(避免随机名称)
# -it:交互式运行(配合/bin/bash进入容器)
# --rm:容器停止后自动删除(测试用)docker run -d -p 8080:80 --name my-nginx nginx:1.25  # 后台运行nginx,映射8080→80
docker run -it --rm ubuntu /bin/bash  # 交互式运行ubuntu,退出后删除容器
docker run -d -v /host/data:/container/data --name my-mysql mysql:8.0  # 挂载数据卷# 2. 查看容器
docker ps                 # 查看运行中的容器(简写:docker container ls)
docker ps -a              # 查看所有容器(包括停止的)
docker ps -q              # 只显示运行中容器的ID
docker ps -l              # 查看最后创建的容器# 3. 启动/停止/重启容器
docker start <容器ID/名称>  # 启动停止的容器
docker stop <容器ID/名称>   # 停止运行中的容器
docker restart <容器ID/名称> # 重启容器
docker kill <容器ID/名称>   # 强制停止容器(类似kill -9)# 4. 进入运行中的容器(调试用)
docker exec -it <容器ID/名称> /bin/bash  # 进入容器(bash)
docker exec -it <容器ID/名称> sh         # 轻量容器(如alpine)用sh
docker attach <容器ID/名称>              # 附加到容器(退出会停止容器,慎用)# 5. 查看容器日志
docker logs <容器ID/名称>   # 查看日志
docker logs -f <容器ID/名称> # 实时跟踪日志(类似tail -f)
docker logs --tail=100 <容器ID/名称>  # 查看最后100行日志
docker logs -t <容器ID/名称>  # 显示日志时间戳# 6. 删除容器
docker rm <容器ID/名称>     # 删除停止的容器(简写:docker container rm)
docker rm -f <容器ID/名称>   # 强制删除运行中的容器
docker rm $(docker ps -aq)   # 删除所有容器(慎用!)# 7. 查看容器详情/资源使用
docker inspect <容器ID/名称>  # 查看容器详细配置(网络、挂载、环境变量)
docker stats <容器ID/名称>    # 实时查看容器CPU/内存/网络使用情况# 8. 容器内文件复制(主机↔容器)
docker cp <主机文件路径> <容器ID/名称>:<容器路径>  # 主机→容器
docker cp <容器ID/名称>:<容器路径> <主机文件路径>  # 容器→主机

三、网络管理(自定义网络、端口映射)

 
Docker 网络用于容器间通信,默认桥接网络(bridge),也可自定义:
 
bash
# 1. 查看网络
docker network ls         # 查看所有网络
docker network inspect <网络名称>  # 查看网络详情(包含连接的容器)# 2. 创建自定义网络(推荐:容器间用名称通信,无需IP)
docker network create my-network  # 创建桥接网络
docker run -d --name nginx1 --network my-network nginx  # 容器加入自定义网络
docker run -d --name nginx2 --network my-network nginx  # 同一网络内,nginx1可直接ping通nginx2# 3. 容器连接/断开网络
docker network connect my-network <容器ID/名称>  # 容器加入网络
docker network disconnect my-network <容器ID/名称>  # 容器断开网络# 4. 删除网络
docker network rm <网络名称>
docker network prune       # 清理未使用的网络
 
 

四、数据卷管理(持久化数据,避免容器删除丢失)

 
数据卷是 Docker 的持久化方案,独立于容器生命周期:
 
bash
# 1. 查看数据卷
docker volume ls          # 查看所有数据卷
docker volume inspect <卷名称>  # 查看数据卷详情(存储路径)# 2. 创建数据卷
docker volume create my-volume  # 创建命名数据卷# 3. 挂载数据卷到容器(推荐用--mount,更清晰)
docker run -d -v my-volume:/data --name my-app my-app:v1.0  # 简写方式
docker run -d --mount source=my-volume,target=/data --name my-app my-app:v1.0  # 推荐方式# 4. 删除数据卷
docker volume rm <卷名称>
docker volume prune       # 清理未使用的数据卷(容器已删除但卷残留)
 
 

五、系统运维(清理、信息查看)

 
bash
# 1. 清理所有无用资源(容器、镜像、网络、数据卷)
docker system prune -a    # -a包含未使用镜像,不加只清理容器/网络/悬空镜像
docker system prune --volumes  # 同时清理未使用的数据卷(慎用)# 2. 查看Docker系统信息
docker info               # 查看Docker版本、驱动、节点数(集群)等
docker system df          # 查看Docker磁盘使用情况(镜像/容器/数据卷)
 

六、常用快捷技巧

  1. 命令别名:设置别名简化输入,如alias d=dockeralias dps='docker ps -a'
  2. 批量操作:结合$(docker ps -aq)实现批量删除容器,$(docker images -q)批量删除镜像;
  3. 后台运行 + 自动重启:docker run -d --restart=always --name my-nginx nginx(容器退出自动重启);
  4. 查看容器 IP:docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器ID>
 

总结

 
  1. 核心高频命令:
    • 镜像:docker pull/build/images/rmi
    • 容器:docker run/ps/exec/logs/stop/rm
    • 数据卷 / 网络:docker volume/network ls/create/rm
     
  2. 关键参数:-d(后台)、-p(端口)、-v(挂载)、-it(交互)、--name(命名)是docker run的核心;
  3. 运维重点:定期用docker system prune清理无用资源,避免磁盘占用过高;数据持久化优先用数据卷(volume)而非主机目录挂载。
http://www.jsqmd.com/news/201006/

相关文章:

  • 少儿编程培训哪家好:机构详细对比与推荐 - 品牌测评鉴赏家
  • html+css实现赛博朋克风格按钮代码
  • 港口集装箱起重机防摇辅助系统
  • 深度学习计算机毕设之基于python机器学习web网页html版通过CNN卷积神经网络对盆栽识别
  • 2026最新运动面料品牌top5推荐!服务覆盖广东广州义乌福建等地优质公司及厂家选择指南,功能性与品质兼具助力运动服饰升级 - 全局中转站
  • I创业颠覆认知——为什么传统产品经理正在消亡,三位超级个体如何重塑产品开发
  • 语音情绪分析让抑郁预警提前一个月
  • 最新流出!7款AI论文神器,知网查重一把过!
  • k8s的常用组件,和命令
  • 2026最新瑜伽面料品牌top5推荐!服务覆盖广东广州义乌福建等地优质公司及厂家选择指南,品质与功能兼具助力服饰产业升级 - 全局中转站
  • 第一章:C语言程序 Pro
  • ZetaChain 跨链原子性解析: 技术机制、生态展望与开发实战
  • 【课程设计/毕业设计】基于机器学习的web网页html版通过CNN卷积神经网络对盆栽识别
  • 大模型产品经理十本经典书籍推荐:从技术原理到商业落地的全方位指南_大模型产品经理必读的十本书籍
  • 商用无忧!企业宣传片免费素材库
  • 深度学习毕设项目:基于深度学习的web网页html版通过CNN卷积神经网络对盆栽识别
  • HTML+CSS制作心跳特效代码
  • 2026本科生必备8个降AI率工具测评榜单
  • 深度学习毕设选题推荐:基于人工智能的web网页html版通过CNN卷积神经网络对盆栽识别
  • 面试必杀:对比 LangGraph 的 `StatefulGraph` 与传统微服务编排(如 Temporal)在处理 LLM 推理时的本质差异
  • 如何使用OpenVINO在Intel显卡上部署PaddleOCR-VL模型
  • 强烈安利10个一键生成论文工具,自考论文写作必备!
  • 【毕业设计】机器学习人工智能基于web网页html版通过CNN卷积神经网络对盆栽识别
  • vue vxe-context-menu 如何给任意组件使用右键菜单,全局右键菜单
  • 深度测评!9个AI论文工具助你搞定毕业论文
  • 深度挑战:设计一个具备‘自省(Self-introspection)’能力的 Agent,它能实时报告自己的 Token 剩余额度并调整思考深度
  • 探讨‘教育辅导机器人’:根据学生的掌握程度,在图中动态生成个性化的知识复习与测试路径
  • IT审计师怎么考?CISA证书报考指南
  • 解析‘智能运维机器人’:通过监控报警触发图执行,自动执行链路排查、日志聚合与临时扩容操作
  • 大模型微调实战指南:八大高效技术路径详解,零基础也能上手轻量化落地