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

相关推荐
a栋栋栋11 小时前
wsl 环境下用Docker 安装多版本MySQL
mysql·docker·容器
潮落拾贝11 小时前
k8s部署kafka三节点集群
容器·kafka·kubernetes
饱饱要坚持可持续发展观12 小时前
docker 拉取本地镜像
docker
我就要用Cx33012 小时前
配置docker常见问题
运维·docker·容器
疯子@12315 小时前
nacos1.3.2 ARM 版容器镜像制作
java·linux·docker·容器
yuxb7317 小时前
Docker 学习笔记(七):Docker Swarm 服务管理与 Containerd 实践
笔记·学习·docker
沐雨风栉19 小时前
自建云音乐服务器:Navidrome+cpolar让无损音乐随身听
运维·服务器·redis·缓存·docker·容器
油条不卖21 小时前
搞坏了docker 双系统下重装ubuntu22.04
运维·docker·容器
麦兜*1 天前
Docker 部署 MongoDB:单节点与副本集的最佳实践
java·spring boot·mongodb·spring cloud·docker·容器·maven
To_再飞行1 天前
K8s访问控制(二)
linux·网络·云原生·容器·kubernetes