在不验证其他服务选项的情况下启动单个docker-compose服务

时间:2020-01-07 04:17:37

标签: docker docker-compose

我有一个docker-compose.yml文件,其中包含一些服务。

我只想在服务器上运行一项服务(“ api”),而没有另一项服务(“ www”中指定的任何强制性目录/文件)

我已经尝试过docker-compose up --no-build api,但它仍然警告我:

错误:构建路径/ path / invalid-path都不存在...

如何在忽略或不验证其他服务的同时启动单个服务?

create multiple docker-compose files for each scenario的唯一答案吗?

api:
    build: 
        image: api:latest
    env_file: 
      - '.env'
    volumes:
      - "./volume:/volume"
    ports:
      - "${API_PORT}:${API_PORT}"
    expose:
      - "${API_PORT}"
www:
    build:
        context: ./invalid-path <--- this does not exist on this server
    env_file:
        - '.env'
    volumes:
        - "./invalid-volume:/path"

1 个答案:

答案 0 :(得分:1)

我认为(!?)问题是docker-compose试图在运行服务之前验证整个规范。

由于验证失败,因此不允许您运行单个服务(即使此服务可以运行)。

如果规格通过验证,您将能够docker-compose up api

在这种情况下,您唯一的解决方案似乎是将服务划分到单独的规范文件中。