You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用docker-compose构建所有镜像但仅运行web服务?

解决方案

当然可以实现你的需求,以下是两种常用的可行方式:

方式一:通过命令行直接指定执行

运行这条命令即可达成目标:

docker-compose up --build web
  • --build 参数会触发构建所有与web服务相关的镜像(包括web-prebuild,因为web声明了依赖它)
  • 结尾指定web,表示仅启动该服务的容器,不会运行web-prebuild对应的容器

方式二:修改docker-compose.yml配置

给web-prebuild服务添加profiles配置,让它默认不被启动:

name: polyocr
services:
  web-prebuild: 
    build:
      context: ./../..
      dockerfile: ./deployment/docker/web/Dockerfile.prebuild
    profiles: ["prebuild-only"] # 添加该行,指定一个非默认的配置组
      
  web:
    build: 
      context: ./../..
      dockerfile: ./deployment/docker/web/Dockerfile
    depends_on:
      - web-prebuild
    ports:
      - "80:8000"

之后直接执行:

docker-compose up --build

此时只会启动web服务,但因为web依赖web-prebuild,Docker Compose会自动先构建web-prebuild的镜像,不会运行它的容器。如果后续需要单独处理web-prebuild,可以用docker-compose --profile prebuild-only build web-prebuild。

内容的提问来源于stack exchange,提问作者GuruYaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:03:11