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

Docker 容器与镜像核心操作命令大全(实战指南)

Docker 容器与镜像核心操作命令大全(实战指南)

摘要:本文全面整理 Docker 容器与镜像管理的高频操作命令,涵盖容器生命周期管理、镜像构建技巧、网络配置、文件挂载等场景,并附赠企业级高级用法。适用于开发、测试及生产环境的容器化运维。

一、容器操作命令

1.1 容器生命周期管理

命令功能说明常用参数
docker run创建并启动容器-d 后台运行
--name 指定容器名
--restart=always 自动重启
docker start启动已停止的容器容器ID/名称
docker stop优雅停止容器-t 超时时间(默认10秒)
docker restart重启容器

示例:后台运行Nginx并映射端口

docker run -d -p 80:80 --name my-nginx nginx:alpine

1.2 容器交互与调试

命令使用场景
docker exec -it <容器ID> sh进入容器Shell(Alpine系统)
docker exec -it <容器ID> /bin/bash进入容器Bash(Ubuntu/CentOS)
docker logs -f <容器ID>实时追踪日志(排错必备)

调试技巧

# 查看最近100行日志
docker logs --tail 100 <容器ID># 结合grep过滤关键字
docker logs <容器ID> | grep "ERROR"

1.3 文件与宿主机交互

操作类型命令示例
宿主机→容器docker cp host_file.txt <容器ID>:/app/data/
容器→宿主机docker cp <容器ID>:/var/log/app.log ./

二、镜像管理全攻略

2.1 镜像构建与打包

方式一:Dockerfile构建
# 标准构建(默认使用Dockerfile)
docker build -t myapp:v1.0 .# 指定自定义Dockerfile
docker build -f Dockerfile.prod -t myapp:prod .
方式二:容器转镜像(慎用!)
docker commit <容器ID> myapp:snapshot

注意:commit生成的镜像会包含容器层所有变更,可能导致体积臃肿,建议仅用于临时调试。

2.2 镜像导入导出

场景操作命令
导出为tar包docker save -o myapp.tar myapp:v1.0
从tar包加载docker load < myapp.tar

三、企业级高级配置

3.1 特权模式与设备挂载

# 启用特权模式(允许访问宿主机设备)
docker run -d --privileged myapp:prod# 挂载物理内存设备
docker run -v /dev/mem:/dev/mem myapp:monitor# 挂载系统信息(只读模式)
docker run -v /sys:/sys:ro -v /proc:/proc:ro myapp:diagnostic

3.2 Macvlan网络配置

# 创建Macvlan网络
docker network create -d macvlan \--subnet=192.168.14.0/24 \--gateway=192.168.14.1 \-o parent=eth0 \mg-macvlan# 运行容器并接入Macvlan
docker run -d --net=mg-macvlan --ip=192.168.14.20 myapp:network

应用场景:需要容器直接暴露在物理网络,获得独立IP地址。

四、安全与清理

4.1 镜像清理

# 删除未使用的镜像(悬空镜像)
docker image prune# 强制删除镜像(无视依赖)
docker rmi -f myapp:test

4.2 容器清理

# 删除已停止的容器
docker container prune# 批量删除所有容器
docker rm -f $(docker ps -aq)

五、实战问题排查指南

5.1 容器启动失败

排查步骤

  1. 检查日志:docker logs <容器ID>
  2. 验证端口冲突:netstat -tulnp | grep 8080
  3. 检查存储卷权限:ls -l /host/path

5.2 网络不通问题

诊断命令

# 进入容器测试外网
docker exec -it <容器ID> ping 8.8.8.8# 检查iptables规则
iptables -L -n -t nat

附录

  • Docker 官方文档
  • Docker Cheat Sheet

掌握这些命令组合,您已能应对90%的日常Docker运维场景。建议搭配Portainer等可视化工具提升管理效率!

如果本教程帮助您解决了问题,请点赞❤️收藏⭐支持!欢迎在评论区留言交流技术细节!欲了解密码学知识,请订阅《密码学实战》专栏 → 密码学实战

相关文章:

  • AI开发-效率提升小工具-“打盹弹窗侠”记录
  • 【Python3】Django 学习之路
  • 55、⾸屏加载⽩屏怎么进⾏优化
  • ES6 Object.values 特定字段处理
  • Java项目—— 拼图小游戏(进阶版)
  • PowerBi中的Measure(度量值)如何理解和应用?
  • 数字化转型浪潮下,B端产品如何助力企业乘风破浪?
  • Android studio—socketIO库的emit与return的使用
  • JVM对象创建全过程
  • .net core 项目快速接入Coze智能体-开箱即用-第2节
  • langgraph框架之初识
  • AI 编程工具—如何在 Cursor 中集成使用 MCP工具
  • Banana Pi BPI-RV2 RISC-V 路由器开发板发售, 全球首款RISC-V路由器
  • STM32单片机入门学习——第41节: [12-1] Unix时间戳
  • SpringAI入门:对话机器人
  • docker 镜像
  • MySQL中高级语法
  • 解决 Spring Boot 多数据源环境下事务管理器冲突问题(非Neo4j请求标记了 @Transactional 尝试启动Neo4j的事务管理器)
  • polkitd服务无法启动导致docker无法启动问题解决
  • 海关总署广东:广东外贸一季度进出口2.14万亿元 同期增长4.2%
  • 美国税局代理局长卷入马斯克与美财长之争,还未工作就被迫离职
  • 境外机构来华发行熊猫债累计超9500亿元
  • 工作坊|早期左翼文学的多重张力与历史回响
  • 嘉兴乌镇一化工公司仓库火灾后,当地召开火灾警示现场会
  • 商务部:美国对小额包裹关税政策将严重影响美国消费者的利益
  • 新高!足金饰品报价每克破千元