Docker容器的使用与常见问题(下)

Docker容器的使用与常见问题(下)

一、容器生命周期管理

1. 容器快照操作

# 导出容器文件系统为tar包
docker export my-container > my-container.tar

# 从tar包创建新镜像
cat my-container.tar | docker import - my-image:v1

注意事项

  • ⚠️ export/import vs save/load 差异:
    • 容器导出:仅保存当前文件系统状态(无元数据)
    • 镜像保存:保留完整镜像层和历史记录
  • 生产环境建议优先使用 docker commit + docker save 组合

二、容器状态监控

1. 基础状态查看

# 查看运行中容器
docker ps 

# 查看所有容器(含已停止)
docker ps -a

# 过滤特定状态容器
docker ps -f status=exited

2. 高级监控工具

# 查看容器进程树
docker top my-container

# 实时资源监控(CPU/MEM/IO)
docker stats my-container

监控技巧

  • 使用 watch 命令定时刷新:watch -n 5 docker stats
  • 结合 grep 过滤关键指标:docker stats | grep -E 'CONTAINER|my-app'

三、容器配置操作

1. 文件系统管理

# 双向文件复制
docker cp my-container:/path/file ./local_dir
docker cp local_file my-container:/container_path

# 查看文件系统变更
docker diff my-container

变更类型标识

  • A: 新增文件
  • C: 修改文件
  • D: 删除文件

2. 网络配置查看

# 查看端口映射关系
docker port my-container

3. 动态资源调整

# 实时修改资源限制
docker update --memory 512M --cpus 1.5 my-container

注意事项

  • 调整后需通过 docker inspect 验证生效
  • 内存限制修改可能导致应用重启

四、常见问题

Docker 容器常见问题速查表

问题现象快速检测命令关键解决方案
容器意外退出docker logs my-container保持前台进程运行
端口冲突docker ps --format "table {{.Ports}}"更换主机端口或停止占用进程
数据丢失docker volume ls使用命名卷或绑定目录
权限不足docker exec -u root my-container sh调整用户权限或使用特权模式
资源占用过高docker stats my-container设置内存/CPU限制

五、命令速查手册

1. 常用命令对照表

操作类型命令组合典型用例
环境迁移export + import容器快照导出导入
状态监控ps + top + stats实时性能分析
文件操作cp + diff配置热更新与变更追踪
网络管理port + network inspect端口映射验证
建议

1. 优先使用镜像保存(commit + save)替代容器导出
2.动态调整资源时需预留10%-20%的缓冲空间
3. 定期清理 docker ps -a 中的僵尸容器
4. 通过 docker diff 监控异常文件变更

下期预告

《Docker仓库介绍》将涵盖:
  • 公共镜像
  • 第三方镜像市场
  • 私有仓库
  • 欢迎在评论区留言您遇到的典型问题,我们将选取典型问题进行专题讲解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值