Docker/Compose常用命令整理总结

385 阅读3分钟

一、Docker 常用命令

1. 镜像管理

命令用途常用参数示例
docker pull <镜像名>:<标签>拉取镜像docker pull nginx:latest
docker images列出本地镜像docker imagesdocker images -a(含中间层镜像)
docker rmi <镜像ID或名>删除镜像docker rmi nginxdocker rmi -f <镜像ID>(强制删除)
docker build -t <镜像名> .构建镜像(需 Dockerfile)docker build -t myapp:v1 .

2. 容器操作

命令用途常用参数示例
docker run [参数] <镜像>创建并启动容器docker run -d -p 8080:80 --name mynginx nginx -d(后台运行) -p <主机端口>:<容器端口>(端口映射) --name(指定容器名)
docker ps查看运行中的容器docker psdocker ps -a(显示所有容器)
docker stop <容器名/ID>停止容器docker stop mynginx
docker start <容器名/ID>启动已停止的容器docker start mynginx
docker restart <容器名/ID>重启容器docker restart mynginx
docker rm <容器名/ID>删除容器docker rm mynginxdocker rm -f mynginx(强制删除运行中的容器)
docker exec -it <容器名/ID> <命令>进入容器执行命令docker exec -it mynginx /bin/bash(交互式终端)
docker logs <容器名/ID>查看容器日志docker logs mynginxdocker logs -f mynginx(实时跟踪)

3. 网络与存储

命令用途示例
docker network ls查看网络列表docker network ls
docker volume create <卷名>创建数据卷docker volume create mydata
docker run -v <主机路径>:<容器路径>挂载数据卷/目录docker run -v /home/data:/app/data myapp

二、Docker Compose 常用命令

新版的命令格式是docker compose不再是docker-compose

1. 服务管理

命令用途常用参数示例
docker-compose up启动服务docker-compose up -d(后台运行) docker-compose up --build(重新构建镜像)
docker-compose down停止并删除容器、网络docker-compose down -v(同时删除数据卷)
docker-compose ps查看服务状态docker-compose ps
docker-compose logs查看服务日志docker-compose logs -f(实时跟踪)
docker-compose build重新构建镜像docker-compose build

2. 容器操作

命令用途示例
docker-compose exec <服务名> <命令>进入服务容器执行命令docker-compose exec web /bin/bash
docker-compose restart <服务名>重启服务docker-compose restart web
docker-compose scale <服务名>=<数量>扩展服务实例数量docker-compose scale web=3

3. 配置文件

命令用途示例
docker-compose -f <文件> up指定 Compose 文件docker-compose -f docker-compose-prod.yml up
docker-compose -p <项目名> up指定项目名docker-compose -p myproject up
docker-compose config验证 Compose 文件语法docker-compose config

常用参数说明

  • 通用参数
    • -d:后台运行(detach)。
    • -p <主机端口>:<容器端口>:端口映射。
    • -v <主机路径>:<容器路径>:挂载数据卷或目录。
    • -e <环境变量>:设置容器环境变量(如 -e MYSQL_ROOT_PASSWORD=123)。
  • Docker Compose 参数
    • --project-name <名称>-p:指定项目名称(默认使用目录名)。
    • --build:启动时重新构建镜像。

示例场景

  1. 启动一个 Nginx 容器
docker run -d -p 80:80 --name my-nginx nginx
  1. 使用 Docker Compose 启动多服务环境
docker-compose up -d  # 启动定义在 docker-compose.yml 中的服务
docker-compose down   # 清理所有资源