英文:
How to prevent overwriting the whole environment field while using YAML anchors
问题
我正在编写我的docker-compose.yml文件,为了避免编写冗余的代码,特别是在使用不同的配置文件(如dev、uat、prod等)时,我使用了yaml锚点。这是我在uat和dev中使用的一个适配器的示例。
Adapter:&Adapter
image: "my-image"
profiles:
- uat
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
- SPRING_PROFILES_ACTIVE=uat
volumes:
- /local/path/to/logs:/logs
depends_on:
- some_image
Adapter-dev:
<<: *Adapter
profiles:
- dev
environment:
- SPRING_PROFILES_ACTIVE=dev
.env文件包含:
JAVA_OPTS=-Xmx3g -Xms3g
关键部分是JAVA_OPTS是必须的,以便正确运行。JAVA_OPTS存储在.env文件中,我附加到JAVA_OPTS变量以指定我的主类。我刚刚发现,以上述方式进行操作会完全覆盖环境变量,并且只传递SPRING_PROFILES_ACTIVE到我的docker容器的环境变量中。我期望的是只覆盖SPRING_PROFILES_ACTIVE,而保留JAVA_OPTS。如何在docker-compose.yml中只覆盖SPRING_PROFILES_ACTIVE而不覆盖JAVA_OPTS呢?
英文:
I am writing my docker-compose.yml file and to avoid writing redundant lines especially for using different profiles for dev, uat, prod etc, I was using yaml anchors. Here is a sample for one of the adapters I used for uat and for dev.
Adapter:&Adapter
image:"my-image"
profiles:
- uat
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
- SPRING_PROFILES_ACTIVE=uat
volumes:
- /local/path/to/logs:/logs
depends_on:
- some_image
Adapter-dev:
<<: *Adapter
profiles:
- dev
environment:
- SPRING_PROFILES_ACTIVE=dev
.env file contains:
JAVA_OPTS=-Xmx3g -Xms3g
The key part is that the JAVA_OPTS is a must have in order to run properly. The JAVA_OPTS is stored in a .env file, and I append to the JAVA_OPTS variable to specify my main class. I just found out that doing it in the way above, it overwrites the environment entirely and only passes the SPRING_PROFILES_ACTIVE to my docker container's environment variables. What I expected would be that only SPRING_PROFILES_ACTIVE would be overwritten, but the JAVA_OPTS would be preserved. How can I only overwrite the SPRING_PROFILES_ACTIVE in my docker-compose.yml without overwriting the JAVA_OPTS?
答案1
得分: 1
这可能是我使用Compose的多个Compose文件的情况,它可以组合每个服务的设置。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置文件可以通过多个Compose文件进行组合。Compose的配置
英文:
This might be a case where I'd use Compose's support for multiple Compose files, which are able to combine per-service settings. Compose profiles are better for selecting which service to run, but not necessarily for controlling how to run it.
You'd have a base docker-compose.yml
file that listed all of the settings that were required in every environment
# docker-compose.yml
version: '3.8'
services:
adapter:
image: "my-image"
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
volumes:
- /local/path/to/logs:/logs
depends_on:
- some_image
Then you'd have a file per environment that added settings for only that environment
# docker-compose.uat.yaml
version: '3.8'
services:
adapter:
environment:
- SPRING_PROFILES_ACTIVE=uat
When you go to run docker-compose
commands, you can then specify both files using docker-compose -f
options. Note that you need to specify both files on every docker-compose
invocation; setting a $COMPOSE_FILE
environment variable may be a little easier.
docker-compose -f docker-compose.yml -f docker-compose.uat.yaml up -d
There are two versions of the Compose tooling, an older one that runs as a standalone tool and a newer one packaged as a docker
CLI extension. This setup will work with both of them.
答案2
得分: 1
在Compose中,你可以设置一个服务来扩展另一个服务。这与你展示的YAML锚点的功能基本相同,但它还允许你提供额外的设置。
version: '2.4'
services:
adapter:
image: "my-image"
profiles: []
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
volumes:
- /local/path/to/logs:/logs
adapter-uat:
extends:
service: adapter
profiles:
- uat
environment:
- SPRING_PROFILES_ACTIVE=uat
depends_on:
- some_image
adapter-dev:
extends:
service: adapter
profiles:
- dev
environment:
- SPRING_PROFILES_ACTIVE=dev
depends_on:
- some_image
depends_on:
在 extends:
服务中不能被重用,所以我在每个环境的服务中都复制了它。
Compose工具有两个版本。如果你使用的是旧版本的工具(docker-compose --version
显示版本为1),请注意Compose文件格式版本3不包括 extends:
;你需要在文件开头声明 version: 2.x
,并且无法使用文件格式版本3中的一些与Swarm相关的功能。
英文:
In Compose you can set up one service to extend another. This does essentially what you're showing with YAML anchors, but it also lets you provide additional settings.
version: '2.4'
services:
adapter:
image: "my-image"
profiles: []
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
volumes:
- /local/path/to/logs:/logs
adapter-uat:
extends:
service: adapter
profiles:
- uat
environment:
- SPRING_PROFILES_ACTIVE=uat
depends_on:
- some_image
adapter-dev:
extends:
service: adapter
profiles:
- dev
environment:
- SPRING_PROFILES_ACTIVE=dev
depends_on:
- some_image
depends_on:
is documented to not be reused in extends:
services, so I've copied it into each per-environment service here.
There are two versions of the Compose tool. If you are using the older version of the tool (docker-compose --version
says it's version 1) then be aware that the Compose file format version 3 doesn't include extends:
; you need to declare a version: 2.x
at the start of the file and you will be unable to use some Swarm-related features in version 3 of the file format.
答案3
得分: 0
使用的具体解决方案是使用common-services.yml文件。这使我能够仅运行具有指定配置文件的服务,而不运行默认服务。我所做的是将默认服务提取到另一个yml文件中,如下所示:
common-services.yml:
services:
adapter:
image: "my-image"
profiles: []
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
volumes:
- /local/path/to/logs:/logs
Docker Compose的yaml文件将如下所示:
docker-compose.yml
version: '3.9'
services:
adapter-uat:
extends:
file: common-services.yml
service: adapter
profiles:
- uat
environment:
- SPRING_PROFILES_ACTIVE=uat
depends_on:
- some_image
adapter-dev:
extends:
file: common-services.yml
service: adapter
profiles:
- dev
environment:
- SPRING_PROFILES_ACTIVE=dev
depends_on:
- some_image
英文:
The specific solution used was to utilise a common-services.yml file. This allowed me to only run the services with the specified profile without running the default services. What I did was to extract the default service to an additional yml file like so:
#common-services.yml:
services:
adapter:
image: "my-image"
profiles: []
environment:
- JAVA_OPTS="${JAVA_OPTS} -Dloader.main=com.my.class"
volumes:
- /local/path/to/logs:/logs
and the docker compose yaml will look like:
#docker-compose.yml
version: '3.9'
services:
adapter-uat:
extends:
file: common-services.yml
service: adapter
profiles:
- uat
environment:
- SPRING_PROFILES_ACTIVE=uat
depends_on:
- some_image
adapter-dev:
extends:
file: common-services.yml
service: adapter
profiles:
- dev
environment:
- SPRING_PROFILES_ACTIVE=dev
depends_on:
- some_image
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论