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

Docker容器的常用操作

Docker 容器的常用操作包括:

1. 创建和运行容器

# 创建并运行容器
docker run nginx:latest# 创建并运行容器(后台运行)
docker run -d nginx:latest# 创建并指定容器名称
docker run -d --name mynginx nginx:latest# 端口映射
docker run -d -p 8080:80 nginx:latest# 挂载卷
docker run -d -v /host/data:/container/data nginx:latest# 设置环境变量
docker run -d -e ENV=production myapp:v1# 交互式运行(进入容器)
docker run -it ubuntu:20.04 /bin/bash# 运行一次性命令
docker run --rm ubuntu:20.04 echo "Hello World"

2. 查看容器

# 查看运行中的容器
docker ps
docker container ls# 查看所有容器(包括已停止)
docker ps -a
docker container ls -a# 查看最新创建的容器
docker ps -l# 查看容器详细信息
docker inspect mynginx# 查看容器资源使用
docker stats mynginx# 查看容器日志
docker logs mynginx
docker logs -f mynginx  # 实时查看
docker logs --tail 100 mynginx  # 查看最后100行

3. 启动和停止容器

# 启动已停止的容器
docker start mynginx# 停止运行中的容器
docker stop mynginx# 强制停止容器
docker kill mynginx# 重启容器
docker restart mynginx# 暂停/恢复容器
docker pause mynginx
docker unpause mynginx

4. 进入容器

# 使用 exec 进入(推荐)
docker exec -it mynginx /bin/bash
docker exec -it mynginx /bin/sh# 使用 attach 进入(会直接进入当前会话)
docker attach mynginx# 在容器中执行单个命令
docker exec mynginx ls -la
docker exec mynginx cat /etc/nginx/nginx.conf

5. 删除容器

# 删除指定容器(需先停止)
docker rm mynginx# 强制删除(运行中的容器也会被删除)
docker rm -f mynginx# 删除所有已停止的容器
docker container prune# 删除所有容器(包括运行中的)
docker rm -f $(docker ps -aq)# 退出时自动删除
docker run --rm -it ubuntu:20.04 /bin/bash

6. 文件操作

# 从容器复制文件到宿主机
docker cp mynginx:/etc/nginx/nginx.conf ./nginx.conf# 从宿主机复制文件到容器
docker cp ./config.json mynginx:/app/config.json# 复制目录
docker cp ./html/. mynginx:/usr/share/nginx/html/

7. 端口和网络

# 查看容器端口映射
docker port mynginx# 查看容器网络设置
docker inspect mynginx | grep IPAddress# 创建自定义网络
docker network create mynetwork# 将容器连接到网络
docker network connect mynetwork mynginx# 断开容器网络
docker network disconnect mynetwork mynginx# 运行容器指定网络
docker run -d --network mynetwork --name mynginx nginx

8. 资源限制

# 限制内存使用
docker run -d -m 512m --memory-swap 1g nginx# 限制CPU使用
docker run -d --cpus="1.5" nginx# 限制CPU份额(相对权重)
docker run -d --cpu-shares 512 nginx# 同时限制内存和CPU
docker run -d -m 512m --cpus="1" --name limited nginx

9. 容器转换

# 将容器保存为镜像
docker commit mynginx mynginx-custom:v1# 带作者和说明的提交
docker commit -a "Author Name" -m "Added custom config" mynginx mynginx-custom:v1# 导出容器为tar文件
docker export mynginx > mynginx.tar# 导入tar文件为镜像
docker import mynginx.tar mynginx:imported

10. 监控和调试

# 查看容器资源使用统计(实时)
docker stats# 查看容器进程
docker top mynginx# 查看容器事件
docker events --filter container=mynginx# 查看容器文件变化
docker diff mynginx# 更新容器配置(内存/CPU等)
docker update --cpus="2" --memory="1g" mynginx

11. 其他实用操作

# 重命名容器
docker rename oldname newname# 等待容器停止(阻塞)
docker wait mynginx# 查看容器内部日志文件位置
docker inspect --format='{{.LogPath}}' mynginx# 清理所有停止的容器和未使用的资源
docker system prune# 查看容器详细信息片段
docker inspect -f '{{.State.Status}}' mynginx

12. 实战示例

# 完整的 Web 应用部署流程
docker pull nginx:alpine
docker run -d --name webapp -p 80:80 \-v /website:/usr/share/nginx/html \--restart always \nginx:alpine# 进入容器调试
docker exec -it webapp /bin/sh# 更新配置后重启
docker restart webapp# 查看日志排查问题
docker logs --tail 50 webapp# 备份容器数据
docker cp webapp:/usr/share/nginx/html ./backup/# 创建新版本镜像
docker commit webapp webapp:v2
http://www.jsqmd.com/news/701857/

相关文章:

  • 基于vue的体育比赛系统[vue]-计算机毕业设计源码+LW文档
  • ERNIE Bot Agent智能体开发框架:从大模型API到复杂任务编排实战
  • 5步掌握暗黑2存档编辑:网页版d2s-editor的终极解决方案
  • 机器学习基础:从数据构成到模型评估全解析
  • Qianfan-OCR-4B处理扫描版电子书效果对比:高精度文本复原
  • AI驱动数据抓取实战:OxyLabs SDK重塑工作流
  • Docker 镜像的常用操作
  • 【VSCode 2026低代码革命】:3大拖拽组件插件实测对比,92%开发者已切换(附性能基准测试数据)
  • Real Anime Z技术解析:双层显存优化中CPU卸载策略对Turbo模型推理延迟的影响
  • 2026年q2山东发电机出租选型技术全指南:山东发电机租赁/山东发电车出租/山东发电车租赁/山东电源车出租/选择指南 - 优质品牌商家
  • 深入解析Azure Pipelines Agent:自托管部署与CI/CD自动化实践
  • Gymnasium强化学习环境接口:从核心概念到工程实践指南
  • 从零实现朴素贝叶斯分类器:原理与Python实战
  • 乐山地区排水管生产厂家综合实力排行2026版:钢筋混泥土排水管厂家/乐山排水管生产厂家/乐山检查井生产厂家/选择指南 - 优质品牌商家
  • 乐山驾培与无人机培训技术全解析:从合规到实操的参考指南 - 优质品牌商家
  • Pi0具身智能v1进阶使用:对接ROS/Mujoco的接口数据准备
  • Speech-AI-Forge:一站式集成主流开源语音AI模型的本地部署与API调用指南
  • PyTorch模型评估与性能优化实战指南
  • RWKV7-1.5B-World与C语言交互:为嵌入式系统提供轻量级AI接口
  • Rust的match守卫(guard)与@绑定模式
  • YggdrasilOfficialProxy:实现Minecraft正版与第三方验证共存的智能代理方案
  • 智能体上下文工程:从原理到实践,解决生产级AI系统核心瓶颈
  • Ripple:基于复杂自适应系统与星海合议架构的高效多智能体模拟引擎
  • Flux2-Klein-9B-True-V2生成控制:深入理解Sampler与Step参数对图像细节的影响
  • 第 12 课:Trie 树(前缀树)—— 专门处理字符串前缀匹配的神器
  • 开关灯泡靠模拟?不懂这个规律,你写的代码永远是O(n²)
  • AI短视频生成引擎:从文本到视频的自动化创作架构与实践
  • 01:初识YOLO:目标检测的进化之路
  • 任务调度与重试平台开源完整流程(从 0 到持续维护)==写一个开源项目全流程
  • 仓颉(Cangjie)编程语言:从汉字造字始祖到全场景智能应用开发语言