如何实现Drone与docker-compose配置共享?减少配置重复
解决docker-compose.yml与.drone.yml配置重复的思路
如果你的目标是减少这两个配置文件之间的服务重复定义,咱们可以从Drone社区的过往讨论和实际工具限制来梳理清楚:
- 曾经规划的复用特性:Drone社区之前讨论过一项
compose: from-file: docker-compose.yml的配置特性,原本打算支持直接复用docker-compose的配置到Drone流水线中,但这个议题已经被关闭,没有落地实现。 - 反向复用的理论与实际限制:官方给出的结论是Drone的配置是docker-compose的超集,理论上你可以把.drone.yml当作docker-compose的配置文件来使用,但这里有个实际的版本限制——至少在docker-compose 2.1版本中,你没法直接将.drone.yml作为docker-compose的配置文件来运行。
如果想要实际减少重复配置,你可以考虑用脚本或者配置模板工具(比如jinja2)来提取两者的通用服务定义,生成对应的配置文件,这样就能避免手动维护两份重复的内容了。
内容的提问来源于stack exchange,提问作者Dan Tanner
相关产品推荐
相关产品推荐

