Docker 命令集合

86 阅读2分钟

🐳 Docker 命令大全

🚀 容器生命周期管理

控制容器的创建、启动、停止、删除等基本操作。

  • run - 创建并启动一个新的容器。

    docker run -d --name mynginx nginx:latest
    

    启动一个后台运行的 Nginx 容器,命名为 mynginx

  • start/stop/restart - 启动、停止或重启已存在的容器。

    docker start mynginx
    docker stop mynginx
    docker restart mynginx
    
  • kill - 立即终止一个或多个正在运行的容器(强制关闭)。

    docker kill mynginx
    
  • rm - 删除一个或多个已停止的容器。

    docker rm mynginx
    
  • pause/unpause - 暂停或恢复容器内所有进程。

    docker pause mynginx
    docker unpause mynginx
    
  • create - 创建一个新容器,但不启动它。

    docker create --name myredis redis:7.0
    
  • exec - 在运行中的容器内执行一条新命令。

    docker exec -it mynginx bash
    

    进入容器内部交互式 shell

  • rename - 重命名容器。

    docker rename mynginx nginx-prod
    

📊 容器操作

查看、监控、调试容器状态与日志。

  • ps - 列出当前运行中的 Docker 容器。

    docker ps
    docker ps -a  # 显示所有容器(包括已停止)
    
  • inspect - 获取容器、镜像、网络等详细信息。

    docker inspect mynginx
    docker inspect -f '{{.NetworkSettings.IPAddress}}' mynginx
    
  • top - 显示指定容器中正在运行的进程。

    docker top mynginx
    
  • attach - 附加到正在运行的容器并与其交互。

    docker attach mynginx
    

    Ctrl+P Ctrl+Q 可脱离容器(不停止)

  • events - 获取 Docker 守护进程生成的事件。

    docker events
    
  • logs - 获取并查看容器的日志输出。

    docker logs mynginx
    docker logs -f mynginx  # 实时跟踪日志
    
  • wait - 等待容器停止并返回退出码。

    docker wait mynginx
    
  • export - 将容器文件系统导出为 tar 归档文件。

    docker export mynginx > mynginx.tar
    
  • port - 显示容器的端口映射信息。

    docker port mynginx
    
  • stats - 实时显示容器资源使用情况(CPU、内存等)。

    docker stats mynginx
    docker stats --no-stream  # 只显示一次
    
  • update - 更新容器的资源限制(如内存、CPU)。

    docker update --memory="512m" --cpus="1.5" mynginx
    

🖼️ 镜像管理

管理本地镜像:拉取、构建、删除、查看等。

  • pull - 从仓库拉取镜像。

    docker pull ubuntu:22.04
    
  • build - 根据 Dockerfile 构建镜像。

    docker build -t myapp:v1 .
    
  • images - 列出本地所有镜像。

    docker images
    docker images -q  # 只显示镜像 ID
    
  • rmi - 删除一个或多个本地镜像。

    docker rmi myapp:v1
    docker rmi $(docker images -q)  # 删除所有未使用的镜像
    
  • tag - 为镜像打标签(用于推送或版本管理)。

    docker tag myapp:v1 myregistry.com/myapp:v1
    
  • save/load - 将镜像保存为 tar 文件 / 从 tar 加载镜像。

    docker save -o myapp.tar myapp:v1
    docker load -i myapp.tar
    
  • history - 查看镜像构建历史。

    docker history ubuntu:22.04
    

🌐 网络管理

管理 Docker 网络:创建、连接、查看等。

  • network ls - 列出所有 Docker 网络。

    docker network ls
    
  • network create - 创建自定义网络。

    docker network create mynet
    
  • network connect/disconnect - 将容器连接/断开网络。

    docker network connect mynet mynginx
    docker network disconnect mynet mynginx
    
  • network inspect - 查看网络详细信息。

    docker network inspect mynet
    
  • network rm - 删除一个或多个网络。

    docker network rm mynet
    

🗃️ 卷管理(Volume)

管理数据卷:持久化容器数据。

  • volume ls - 列出所有数据卷。

    docker volume ls
    
  • volume create - 创建一个新卷。

    docker volume create mydata
    
  • volume inspect - 查看卷详细信息。

    docker volume inspect mydata
    
  • volume rm - 删除一个卷。

    docker volume rm mydata
    
  • volume prune - 删除所有未使用的卷。

    docker volume prune
    

🧩 高级命令 & 工具

用于调试、清理、优化等。

  • system df - 查看 Docker 磁盘使用情况。

    docker system df
    
  • system prune - 清理未使用的容器、镜像、网络、卷。

    docker system prune -a  # 删除所有未使用的资源(含镜像)
    
  • compose up/down - 使用 docker-compose 启动/停止服务。

    docker compose up -d
    docker compose down
    
  • login/logout - 登录/登出 Docker 仓库。

    docker login hub.docker.com
    docker logout
    
  • push - 推送镜像到远程仓库。

    docker push myregistry.com/myapp:v1
    

📝 附录:常用组合命令

目的命令
一键清理所有无用资源docker system prune -a --volumes
查看所有容器 IPdocker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress}}' $(docker ps -aq)
批量删除所有容器docker rm $(docker ps -aq)
批量删除所有镜像docker rmi $(docker images -q)
查看容器占用磁盘大小docker system df