简体   繁体   English

Docker-compose运行容器与所有其他容器

[英]Docker-compose run container with all others

Given a docker-compose-core.yml : 鉴于docker-compose-core.yml

version: "3"

services:

  gradle:
    image: gradle:5.4.1-jdk8
    command: gradle build release

  kafka:
    image: kafka

And other(s) docker-compose-{es6/es7}.yml : 和其他(s) docker-compose-{es6/es7}.yml

version: "3"

services:

  elasticsearch:
    image: elasticsearch{6/7}

I want to run: 我想跑:

COMPOSE_FILE=docker-compose.yml:docker-compose-es6.yml 
docker-compose run --rm gradle

And starts ALL containers defined. 并启动定义的所有容器。 I cant use depends_on because this must be dynamic. 我不能使用depends_on因为这必须是动态的。

You can run docker-compose -f docker-compose-core.yml -f docker-compose-es6.yml run gradle , to run both files together with keys in the latter overriding keys in the former. 您可以运行docker-compose -f docker-compose-core.yml -f docker-compose-es6.yml run gradle ,将两个文件与前者中的后一个密钥中的密钥一起运行。 So you can add on a key to gradle in docker-compose-es6.yml like so: 所以你可以添加一个键来在gradle docker-compose-es6.yml如下所示:

version: "3"

services:

  gradle:
    depends_on:
      - elasticsearch

  elasticsearch:
    image: elasticsearch{6/7}

The docs regarding merging multiple compose files 有关合并多个撰写文件的文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM