docker和docker-compose文档都讨论了使用多个yaml
文件作为自定义配置的方法。从功能上来说,这一切都很好。最初是这样的:
docker-compose -f standard-run-docker-compose.yml up -d
和
docker-compose -f debug-run-docker-compose.yml up -d
您可能会怀疑两个yaml
文件之间几乎完全重叠。例如,调试service2
中的yml
仅因environment
部分而有所不同:
service2:
environment: {MAX_MEMORY: 2048m, CATALINA_OPTS: '-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=16543' }
与生产设置相比,此更改降低了内存量,并添加了以debug
模式启动所需的参数。为了改善我做到了:
docker-compose -f docker-compose.std.yml -f docker-compose.debug.yml up -d
它似乎工作得很好-第二个文件仅包含更改-因此不再有数据重叠,而是DRY。但是,当我这样做时:
docker-compose config
它没有提供实际RUNNING配置的配置,而是仅提供了第一个yaml
文件的配置。为了进行测试,我希望能够将原始调试配置与我的多个文件进行比较。有什么方法可以从docker-compose
输出“有效”配置?我正在运行1.20版。
答案 0 :(得分:0)
对不起,我好la脚!是的,这可行:
docker-compose -f docker-compose.std.yml -f docker-compose.debug.yml config
FWIW,docker-compose的下票比上票多! :)