Docker常用命令速查手册:容器运维七维指南

📦 一、容器生命周期管理

命令 参数说明 示例
docker run 创建并启动容器 -d 后台运行 -p 宿主机:容器 端口映射 -v 宿主机:容器 卷挂载 --name 命名容器 --rm 退出后自动删除 docker run -d -p 8080:80 --name nginx nginx:latest
docker start/stop/restart 启停容器 -a 附加输出流 -t 秒数 超时停止 docker restart -t 10 my_container
docker rm 删除容器 -f 强制删除运行中容器 -v 同时删除卷 docker rm -fv old_container
docker exec 执行命令 -it 交互模式 -e VAR=value 设置环境变量 docker exec -it redis redis-cli

️🪞 二、镜像操作

命令 说明 示例
docker build 构建镜像 -t 名称:标签 指定标签 --no-cache 禁用缓存 docker build -t myapp:v1 .
docker pull/push 拉取/推送镜像 -a 拉取所有版本 --disable-content-trust 跳过验证 docker push registry.mycorp.com/app:v2
docker images 列出镜像 -q 只显示ID --digests 显示摘要 docker images --filter "dangling=false"
docker rmi 删除镜像 -f 强制删除 --no-prune 保留父层 docker rmi $(docker images -q "temp_*")

📊 三、监控与日志

命令 关键参数 使用场景
docker ps -a 显示所有容器 -l 最新容器 -s 显示大小 docker ps -f "status=running"
docker logs -f 实时跟踪 --tail N 末尾N行 -t 显示时间戳 docker logs -f --until=2m app
docker stats --no-stream 单次输出 --format 自定义格式 docker stats --format "{``{.Container}} {``{.CPUPerc}}"
docker top 无参数 查看容器进程树:docker top nginx

🌐 四、网络管理

命令 功能 示例
docker network create 创建网络 --subnet 指定子网 --driver 驱动类型 docker network create --subnet=172.20.0.0/24 mynet
docker network connect 容器加入网络 --ip 指定IP docker network connect --ip 172.20.0.5 mynet web
docker network inspect 查看网络详情 docker network inspect -f '{``{.IPAM.Config}}' bridge

💾 五、数据卷管理

命令 说明 实战技巧
docker volume create 创建具名卷 --driver 指定驱动 docker volume create --opt type=nfs app_data
docker volume ls 列出卷 -q 仅显示名称 清理未使用卷: docker volume prune
docker cp 宿主机⇄容器文件复制 docker cp config.yml app:/etc/app/

🛠️ 六、系统维护

命令 用途 重要参数
docker system prune 清理资源 -a 删除未使用镜像 --volumes 删除卷
docker info 显示系统信息 -f json 输出JSON格式
docker update 更新容器配置 --cpus 2 限制CPU --memory 512m 限制内存

📝 附:组合命令示例

bash 复制代码
# 批量停止所有容器
docker stop $(docker ps -q)
 
# 构建镜像并推送到仓库
docker build -t myrepo/app:v3 . && docker push myrepo/app:v3
 
# 备份MySQL数据到宿主机
docker run --rm -v mysql_data:/volume -v $PWD:/backup alpine tar czf /backup/mysql-$(date +%Y%m%d).tar.gz /volume
 

⚠️ 七、安全最佳实践

  1. 非root用户运行
    docker run --user 1000:1000 python
  2. 只读文件系统
    docker run --read-only -v /tmp:/tmp app
  3. 资源限制
    docker run --cpus=1.5 --memory=1g app
  4. 扫描漏洞
    docker scan nginx:latest

完整文档:Docker Official Docs

相关推荐
再看扣你眼5 小时前
Kubernetes 中 ConfigMap 与 Secret 的深度解析
云原生·容器·kubernetes
liux35287 小时前
Helm在Kubernetes中的应用部署指南与案例解析
云原生·容器·kubernetes
JavaLearnerZGQ10 小时前
Docker部署Nacos
数据库·docker·容器
蓝天居士13 小时前
docker常用命令集(6)
docker·容器
巴厘猫13 小时前
从零解锁Docker API,玩转容器的“幕后英雄”!
后端·docker·容器
●VON14 小时前
重生之我在暑假学习微服务第五天《Docker部署项目篇》
java·学习·docker·微服务·云原生·架构·暑假
Borny鼎鼎19 小时前
gaussdb demo示例
docker·gaussdb
东风微鸣21 小时前
使用 Loki 配置告警,如何将原始日志内容添加告警到注释中?
docker·云原生·kubernetes·可观察性
探索云原生1 天前
HAMi vGPU 原理分析 Part3:hami-scheduler 工作流程分析
云原生·容器·kubernetes·vgpu