我有一个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"
答案 0 :(得分:1)
我认为(!?)问题是docker-compose
试图在运行服务之前验证整个规范。
由于验证失败,因此不允许您运行单个服务(即使此服务可以运行)。
如果规格通过验证,您将能够docker-compose up api
。
在这种情况下,您唯一的解决方案似乎是将服务划分到单独的规范文件中。