docker compose up
根据 compose.yml 启动所有服务
语法
docker compose up [OPTIONS] [SERVICE...]
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-d --detach |
后台运行 | docker compose up -d |
常用 |
--build |
启动前重新构建镜像 | docker compose up --build |
常用 |
--force-recreate |
强制重新创建容器 | docker compose up --force-recreate |
进阶 |
--scale |
指定服务实例数量 | docker compose up --scale web=3 |
进阶 |
-f --file |
指定 compose 文件 | docker compose -f docker-compose.prod.yml up |
常用 |
示例
后台启动所有服务
docker compose up -d
最常用的启动方式
启动并重新构建
docker compose up -d --build
代码变更后需要重新构建镜像
只启动指定服务
docker compose up -d db redis
只启动依赖服务,不启动应用
前台启动查看日志
docker compose up
不加 -d 可以直接看到所有服务日志,Ctrl+C 停止
常见错误
no configuration file provided: not found
当前目录没有 compose.yml 或 docker-compose.yml,用 -f 指定路径
port is already allocated
端口被占用,修改 compose 文件中的端口映射或停止占用端口的服务
image not found or pull access denied
镜像不存在或需要登录,检查镜像名或先 docker login
技巧
- 修改代码后用 docker compose up -d --build 重新构建并启动
- 用 docker compose up -d service_name 只重启单个服务
- docker compose 是 docker-compose 的新版命令(Docker Compose V2)