引用volumes_from中另一个docker-compose文件的服务

由于我们的docker-composeconfiguration非常庞大,我们希望将其分成多个文件。 每个文件都定义了应用程序的一部分(数据库,后端,工作人员等),并且应该能够随意停止和启动(例外:数据库需要先运行 – 其他容器链接到它们并依赖于它们)。

但是,我们也有一个媒体服务,它创build并保留了我们存储数据库所需的泊坞窗,…

泊坞窗,compose.database.yml:

version: '2' services: media: build: ./docker/app_data env_file: ./envs/.${ENVIRONMENT_NAME} volumes: - /data/db - /data/files - /data/mydb - /logs command: /bin/true networks: - my-net (...) memcached: extends: file: common-services.yml service: memcached env_file: ./envs/.${ENVIRONMENT_NAME} restart: on-failure mem_limit: 4g command: memcached -m 3072m -vv ports: - "11211:11211" networks: - my-net 

泊坞窗,compose.app.yml:

 version: '2' services: app: extends: file: common-services.yml service: app env_file: ./envs/.${ENVIRONMENT_NAME} restart: on-failure command: "/wait-for-it.sh postgres:5432 -- /entrypoint.sh" external_links: - myproj_mongo_1:mongo - myproj_rabbitmq_1:rabbitmq - myproj_memcached_1:memcached - myproj_postgres_1:postgres volumes_from: - media - fe ports: - "8000:8000" networks: - my-net fe: extends: file: common-services.yml service: fe env_file: ./envs/.${ENVIRONMENT_NAME} command: npm run build networks: - my-net 

每当我试图使用docker-compose的docker-compose.app.ymlconfiguration来执行任何操作(start,exec,…)时,docker-compose存在以下错误:

 docker-compose -f docker-compose.app.yml up -d --remove-orphans ERROR: Service "app" mounts volumes from "media", which is not the name of a service or container. 

现在的问题是:如何正确加载介质卷? 我唯一的想法(但想避免,如果有更好的解决scheme,因为我将不得不改变很多脚本)是在另一个docker-comose.yml文件中定义媒体,该文件始终与其他docker一起加载-compose.yml文件。