Docker由两个文件组成

我有两个docker-compose.yml文件在不同的文件夹中。

我想用同一个命令来运行它们中的两个,以便两者的服务能够相互交stream。

但是,当我去最低的共同path的祖先,并尝试运行docker-compose与两个文件,这是什么情况发生:

 $ docker-compose -f ./api-folder/docker-compose.yml -f ./front-folder/docker-compose.yml up -d ERROR: build path /projects/front-folder/api either does not exist, is not accessible, or is not a valid URL. $ docker-compose -f ./front-folder/docker-compose.yml -f ./api-folder/docker-compose.yml up -d ERROR: build path /projects/api-folder/app either does not exist, is not accessible, or is not a valid URL. 

这里是两个docker-compose.yml文件:

/projects/front-folder/docker-compose.yml

 version: '2' services: app: restart: always build: ./app environment: NODE_ENV: 'dev' ports: - "4400:4400" volumes: - ./app:/usr/src/app nginx: restart: always build: ./nginx volumes: - ./logs:/usr/local/var/log/nginx links: - app ports: - "80:80" 

/projects/api-folder/docker-compose.yml

 version: '2' services: api: restart: always build: ./api expose: - "4600" volumes: - ./api:/usr/src/app - ./logs:/logs nginx: restart: always build: ./nginx volumes: - ./logs:/usr/local/var/log/nginx links: - api ports: - "81:80" networks: - hackerz 

和目录结构:

 - /projects - /front-folder - /app Dockerfile - /nginx Dockerfile docker-compose.yml - /api-folder - /api Dockerfile - /nginx Dockerfile docker-compose.yml 

我猜测问题是与buildpath,但我不明白的是:

  • 为什么Docker坚持searchbuild: ./api in /front-folder或者其他方式?
  • 如何绕过这个问题,并能够同时运行这两个文件?

这不是如何构成作品(按devise)。 看到我的评论在这里: https : //github.com/docker/compose/issues/3530#issuecomment-222490501 。