1 Docker 常用命令

1.1 生命周期管理

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]            # 创建并启动容器
    # -d: 后台运行
    # -p: 端口映射 (主机端口:容器端口)
    # -v: 卷挂载 (主机目录:容器目录)
    # --name: 为容器指定名称
    # -e: 设置环境变量
    # --rm: 容器退出时自动删除
    # -it: 交互式终端

docker start [OPTIONS] CONTAINER [CONTAINER...]          # 启动已停止的容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]           # 停止运行中的容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]        # 重启容器
docker pause CONTAINER                                   # 暂停容器中所有进程
docker unpause CONTAINER                                 # 恢复暂停的容器
docker kill [OPTIONS] CONTAINER [CONTAINER...]           # 强制停止容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]             # 删除容器
    # -f: 强制删除运行中的容器
    # -v: 同时删除关联的卷

1.2 容器操作

docker ps [OPTIONS]                                       # 列出容器
    # -a: 显示所有容器(包括未运行的)
    # -q: 只显示容器ID
    # --filter: 过滤条件

docker logs [OPTIONS] CONTAINER                           # 获取容器日志
    # -f: 跟踪日志输出
    # --tail: 显示最后N行日志
    # -t: 显示时间戳

docker exec -it <容器名称或ID> /bin/bash                   # 进入运行中的容器
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH          # 复制文件到容器
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH          # 从容器复制文件到主机

docker inspect [OPTIONS] NAME|ID [NAME|ID...]             # 获取容器/镜像的元数据
docker top CONTAINER                                      # 查看容器中运行的进程
docker stats [OPTIONS] [CONTAINER...]                     # 显示容器资源使用统计
docker diff CONTAINER                                     # 检查容器文件系统的更改

1.3 镜像管理

docker images [OPTIONS] [REPOSITORY[:TAG]]                # 列出本地镜像
    # -a: 显示所有镜像(包括中间层)
    # -q: 只显示镜像ID
    # --digests: 显示摘要信息

docker pull [OPTIONS] NAME[:TAG|@DIGEST]                  # 从仓库拉取镜像
docker push [OPTIONS] NAME[:TAG]                          # 推送镜像到仓库
docker rmi [OPTIONS] IMAGE [IMAGE...]                     # 删除镜像
    # -f: 强制删除

docker build [OPTIONS] PATH | URL | -                     # 构建镜像
    # -t: 设置镜像名称和标签
    # --no-cache: 构建时不使用缓存
    # -f: 指定Dockerfile路径

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]          # 为镜像打标签
docker save -o [输出文件名].tar [镜像名]:[标签]               # 将镜像保存为tar文件
docker load -i [输入文件名].tar                             # 从tar文件加载镜像
docker history [OPTIONS] IMAGE                            # 查看镜像历史记录

1.4 网络管理

docker network ls                                         # 列出网络
docker network create [OPTIONS] NETWORK                   # 创建网络
docker network inspect [OPTIONS] NETWORK [NETWORK...]     # 显示网络详细信息
docker network connect [OPTIONS] NETWORK CONTAINER        # 将容器连接到网络
docker network disconnect [OPTIONS] NETWORK CONTAINER     # 断开容器与网络的连接
docker network rm NETWORK [NETWORK...]                    # 删除网络

1.5 数据卷管理

docker volume ls                                         # 列出数据卷
docker volume create [OPTIONS] [VOLUME]                  # 创建数据卷
docker volume inspect [OPTIONS] VOLUME [VOLUME...]       # 显示数据卷详细信息
docker volume rm [OPTIONS] VOLUME [VOLUME...]            # 删除数据卷
docker volume prune [OPTIONS]                            # 删除未使用的数据卷

1.6 系统信息与维护

docker info                                              # 显示Docker系统信息
docker version                                           # 显示Docker版本信息
docker system df                                         # 查看磁盘使用情况
docker system prune [OPTIONS]                            # 删除未使用的数据
    # -a: 删除所有未使用的镜像(不仅仅是悬空镜像)
    # --volumes: 删除未使用的卷

2 Docker Compose 常用命令

docker-compose up [OPTIONS]                              # 创建并启动服务
    # -d: 后台运行
    # --build: 构建镜像后再启动

docker-compose down [OPTIONS]                            # 停止并删除容器、网络等
    # -v: 同时删除卷
    # --rmi all: 删除所有相关镜像

docker-compose ps [OPTIONS]                              # 列出项目中的容器
docker-compose logs [OPTIONS] [SERVICE...]               # 查看服务日志
docker-compose build [OPTIONS] [SERVICE...]              # 构建或重新构建服务
docker-compose start [SERVICE...]                        # 启动服务
docker-compose stop [OPTIONS] [SERVICE...]               # 停止服务
docker-compose restart [OPTIONS] [SERVICE...]            # 重启服务
docker-compose exec [OPTIONS] SERVICE COMMAND [ARGS...]  # 在运行中的服务容器中执行命令