Docker 速查手册

🔍 系统信息

bash 复制代码
docker --version                # 版本
docker version                  # 客户端+服务端详细版本
docker info                     # docker系统整体信息
docker <cmd> --help             # 命令帮助

📦 镜像 Image

bash 复制代码
docker search nginx                     # 搜索镜像
docker pull nginx                       # 拉取 latest
docker pull nginx:1.27                  # 指定tag
docker images                           # 列出本地镜像
docker image ls

docker build -t myapp:v1 .              # 构建镜像,Dockerfile在当前目录
docker build -t myapp:v1 -f ./Dockerfile.dev . # 指定Dockerfile文件

docker rmi <image-id|name:tag>          # 删除镜像
docker rmi -f <image-id>                # 强制删除

docker save -o nginx.tar nginx:1.27     # 导出镜像到tar
docker load -i nginx.tar                # 从tar导入镜像

docker history nginx:1.27               # 查看镜像分层

🚀 容器 Container

run 参数说明

bash 复制代码
-d                            # 后台运行
--name NAME                   # 指定容器名称
-p HOST:CONTAINER             # 端口映射
-v HOST_PATH:CONTAINER_PATH   # 挂载目录
-e KEY=VALUE                  # 设置环境变量
--restart=always              # 开机自启
--rm                          # 停止自动删除容器(测试用)
-it                           # 交互式终端

示例:后台启动nginx

bash 复制代码
docker run -d --name nginx-demo -p 8080:80 --restart=always nginx

# 交互式临时容器
docker run -it --rm ubuntu /bin/bash

docker ps                     # 运行中容器
docker ps -a                  # 全部容器(含已停止)

docker start <name/id>
docker stop <name/id>
docker restart <name/id>
docker kill <name/id>         # 强制杀死

docker rm <name/id>           # 删除已停止容器
docker rm -f <name/id>        # 强制删除运行中容器

# 进入容器
docker exec -it nginx-demo /bin/bash
docker exec -it nginx-demo sh  # 无bash时用sh

# 文件拷贝 宿主机 ↔ 容器
docker cp /host/file 容器ID:/container/path
docker cp 容器ID:/container/file /host/path

# 查看容器完整元信息 json
docker inspect <id>

# 获取容器IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <id>

# 查看端口映射
docker port <id>

📋 日志与资源监控

bash 复制代码
docker logs <container>            # 查看日志
docker logs -f --tail 200 <container> # 实时跟踪,末尾200行

docker stats                       # 所有容器cpu/mem/io实时统计
docker stats <container-id>        # 指定容器

💾 数据卷 Volume

bash 复制代码
docker volume create my-volume
docker volume ls
docker volume inspect my-volume

docker volume rm my-volume
docker volume prune        # 删除未被使用的卷

# 两种挂载
# -v 命名卷:docker托管数据卷
# -v /opt/data:/app 绑定挂载:直接映射宿主机目录

🌐 网络 Network

bash 复制代码
docker network ls
docker network create my-bridge
docker network inspect my-bridge

docker network connect my-bridge <container>
docker network disconnect my-bridge <container>

docker network prune   # 清理未使用网络

🧹 系统清理(高频)

bash 复制代码
docker system prune                 # 删除停止容器、无用镜像、无用网络,不删volume
docker system prune -a              # 清理所有未使用镜像
docker system prune -a --volumes    # ⚠️危险:清理未使用镜像+容器+网络+卷

🧩 Docker‑Compose

bash 复制代码
docker-compose up               # 前台启动
docker-compose up -d            # 后台启动
docker-compose up -d --build    # 重新build镜像并启动

docker-compose stop             # 停止,保留容器
docker-compose restart          # 重启
docker-compose down             # 停止并删除容器网络
docker-compose down -v          # down同时删除数据卷

docker-compose logs -f          # 实时查看日志
docker-compose ps               # 查看compose服务状态

开发常用 compose 模板示例 docker-compose.yml

yaml 复制代码
version: "3.8"

services:
  nginx:
    image: nginx:1.27
    container_name: demo-nginx
    restart: always
    ports:
      - "8080:80"
    volumes:
      - ./nginx/conf:/etc/nginx/conf.d
      - ./nginx/html:/usr/share/nginx/html
    environment:
      - TZ=Asia/Shanghai

  redis:
    image: redis:7-alpine
    container_name: demo-redis
    restart: always
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    command: redis-server --appendonly yes

volumes:
  redis-data:

使用模板

bash 复制代码
# 在yml所在目录执行
docker-compose up -d
相关推荐
clz13145219 分钟前
Dify的Windows平台部署:从Docker安装到Dify运行
windows·docker·容器
colinu2 小时前
Docker 容器自启动策略说明与常用命令
运维·docker·容器
灯澜忆梦2 小时前
【docker】#3 | 数据卷挂载
运维·docker·容器
像风一样自由202011 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
陈陈CHENCHEN14 小时前
【Kubernetes】纯 IPv6 K8s 用 socat 打通 IPv4 服务
云原生·容器·kubernetes
江湖有缘15 小时前
Docker实战 | 使用Docker部署rmoments社交平台
jvm·docker·oracle
灯澜忆梦20 小时前
【docker】#4 | Docker 自定义镜像与 Dockerfile
运维·docker·容器
TTATTC20 小时前
Android 浏览器死活不弹证书框的那天,我用 .NET MAUI 给 WebView 写了一个 mTLS 拦截器
docker·开源
TTATTC20 小时前
百万行 Trace 交给 AI,方向和验证留给人,一套还原自定义 VMP 保护的分工方法
docker·开源
TTATTC20 小时前
从 proxy_pass 末尾斜杠到 WebAssembly 预压缩:深挖 Nginx 生产环境四大高频踩坑点
docker·开源