docker 所有常用命令,配上思维导图,加图表显示

发布于:2025-08-29 ⋅ 阅读:(14) ⋅ 点赞:(0)

在这里插入图片描述


一、容器生命周期管理

命令 说明 示例
docker run 创建并启动容器 docker run -d -p 80:80 --name nginx nginx:alpine
docker start/stop/restart 启动/停止/重启容器 docker stop nginx
docker rm 删除容器 docker rm -f nginx(强制删除运行中的容器)
docker pause/unpause 暂停/恢复容器进程 docker pause nginx
docker exec 进入运行中的容器 docker exec -it nginx sh
docker update 更新容器配置 docker update --memory 512m nginx

场景:快速重启服务

docker stop nginx && docker rm nginx && docker run -d -p 80:80 --name nginx nginx:alpine

二、镜像操作

命令 说明 示例
docker build 构建镜像 docker build -t myapp:1.0 .
docker pull/push 拉取/推送镜像 docker pull ubuntu:20.04
docker images 列出本地镜像 docker images --filter “dangling=true”(显示悬空镜像)
docker rmi 删除镜像 docker rmi $(docker images -q)(删除所有镜像)
docker save/load 导出/导入镜像 docker save myapp:1.0 > myapp.tar
docker history 查看镜像构建历史 docker history nginx:alpine

场景:清理无用镜像

docker image prune -a --filter "until=24h"  # 删除24小时前的未使用镜像

三、容器监控与日志

命令 说明 示例
docker ps 查看容器列表 docker ps -a --format “table {{.ID}}\t{{.Names}}”
docker logs 查看容器日志 docker logs -f --tail 100 nginx
docker stats 实时资源监控 docker stats --no-stream
docker top 查看容器进程 docker top nginx
docker inspect 查看容器详情 docker inspect nginx

场景:诊断容器异常

docker inspect nginx | grep -i status -A 10  # 查看健康状态
docker logs --since 10m nginx | grep -i error  # 搜索最近10分钟的错误日志

四、网络管理

命令 说明 示例
docker network ls 列出网络 docker network ls --filter driver=bridge
docker network create 创建自定义网络 docker network create --subnet 172.20.0.0/16 mynet
docker network connect/disconnect 连接/断开容器网络 docker network connect mynet nginx
docker network inspect 查看网络详情 docker network inspect mynet

场景:容器间通信

docker run -d --net mynet --name app1 myapp
docker run -d --net mynet --name app2 myapp
docker exec app1 ping app2  # 直接通过容器名通信

五、数据卷与挂载

命令 说明 示例
docker volume create 创建数据卷 docker volume create db_data
docker volume ls 列出数据卷 docker volume ls -q
docker run -v 挂载数据卷 docker run -v /data:/app/data myapp
docker cp 容器与主机间拷贝文件 docker cp nginx:/etc/nginx/nginx.conf ./

场景:持久化数据库

docker run -d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

六、Docker Compose 常用命令

命令 说明 示例
docker-compose up 启动服务栈 docker-compose up -d(后台运行)
docker-compose down 停止并删除服务栈 docker-compose down -v(同时删除数据卷)
docker-compose logs 查看服务日志 docker-compose logs -f app
docker-compose ps 查看服务状态 docker-compose ps --services
docker-compose exec 进入服务容器 docker-compose exec db mysql -uroot -p

场景:开发环境重建

docker-compose down && docker-compose up --build -d

七、系统维护命令

命令 说明 示例
docker system df 查看磁盘使用 docker system df -v
docker system prune 清理无用资源 docker system prune --volumes -f
docker info 查看Docker系统信息 docker info
docker version 查看版本信息 docker version --format ‘{{.Server.Version}}’

场景:定期清理

docker system prune -a --filter "until=168h"  # 清理一周前的所有缓存

八、实用技巧组合

  1. 批量操作

停止所有容器

docker stop $(docker ps -aq)

删除所有已停止容器

docker container prune

2. 端口转发调试
    ```bash
docker run -d -p 8080:80 -p 5000:5000 myapp
  1. 环境变量注入

docker run -e “TZ=Asia/Shanghai” -e “DEBUG=true” myapp

4. 资源限制
    ```bash
docker run -d --memory=1g --cpus=2 myapp

命令速查表

# 容器管理
docker run → docker stop → docker rm

# 镜像管理
docker build → docker push → docker rmi

# 排错三板斧
docker logs → docker execdocker inspect

# 系统维护
docker system dfdocker system prune

掌握这些命令后,可以高效管理 Docker 容器化环境。建议配合 --help 参数查看详细选项,如 docker run --help。