Z
ZHANK
🐳

Docker 命令速查表

Docker 容器管理、镜像构建、Docker Compose、网络卷管理速查

Docker 命令速查表

镜像管理

docker images                  # 列出本地镜像
docker pull nginx:latest       # 拉取镜像
docker build -t myapp:v1 .     # 构建镜像
docker tag myapp:v1 myapp:latest  # 打标签
docker rmi myapp:v1            # 删除镜像
docker image prune -a          # 清理未使用镜像
docker save -o myapp.tar myapp # 导出镜像
docker load -i myapp.tar       # 导入镜像

容器管理

docker run -d --name web -p 80:80 nginx    # 后台运行,端口映射
docker run -it ubuntu bash                 # 交互式运行
docker run -v /host:/container data        # 挂载卷
docker run -e MYSQL_ROOT_PASSWORD=123 mysql # 环境变量

docker ps                     # 运行中的容器
docker ps -a                  # 所有容器
docker start web              # 启动
docker stop web               # 停止
docker restart web            # 重启
docker rm web                 # 删除
docker rm -f web              # 强制删除
docker exec -it web bash      # 进入容器
docker logs -f web            # 查看日志(跟随)
docker inspect web            # 详情
docker stats                  # 资源监控

Docker Compose

# docker-compose.yml
version: '3.8'
services:
  web:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
    environment:
      - NODE_ENV=production
    depends_on:
      - db
  db:
    image: postgres:15
    volumes:
      - pgdata:/var/lib/postgresql/data
volumes:
  pgdata:
docker-compose up -d          # 启动所有服务
docker-compose down           # 停止并删除
docker-compose logs -f        # 查看日志
docker-compose ps             # 查看状态
docker-compose restart web    # 重启单个服务
docker-compose build          # 重新构建

卷与网络

docker volume ls              # 列出卷
docker volume create myvol    # 创建卷
docker volume rm myvol        # 删除卷
docker volume prune           # 清理未使用卷

docker network ls             # 列出网络
docker network create mynet   # 创建网络
docker network connect mynet web  # 连接网络

清理

docker system prune -a        # 清理所有未使用资源
docker container prune        # 清理停止的容器
docker image prune            # 清理悬挂镜像
docker volume prune           # 清理未使用卷