gpt4 book ai didi

docker - 有条件地在 docker-compose 中挂载卷

转载 作者:IT老高 更新时间:2023-10-28 12:41:08 30 4
gpt4 key购买 nike

我有一个 docker-compose.yml 配置。在其中一个容器中有一个 Tomcat 服务器,它有一些默认的 .war 文件部署在 webapps 目录中。

我希望能够传递(覆盖)war 存档以由驻留在主机上的某些人部署。我认为最好的办法是能够以某种方式切换/覆盖启动 docker-compose:默认情况下,我想运行位于容器,但如果需要,我希望有可能从我的主机挂载一个目录(例如在开发/调试期间)。

目前,我的 docker-compose.yml 中有以下行,如果我需要默认值,则将其注释掉。

volumes:
# By default, there is the latest version of the application already present in the container
# If you want to provider the container with your own .war file, uncomment the following line
# - ./application/webapps:/usr/local/tomcat/webapps

有没有更好的方法来实现这一点?

最佳答案

由于 extend 在版本 3 中已被删除,因此有一种新方法可以通过提供多个 -f 参数来覆盖设置,其中下一个文件扩展了前一个配置

文档在版本之间混杂在一起 https://docs.docker.com/compose/extends/#multiple-compose-files

即在开发模式下运行

docker-compose -f docker-compose.yml -f docker-compose.dev.yml

其中 docker-compose.yml 包含完整配置,而 docker-compose.dev.yml 仅添加一个卷

services:
serviceA:
volumes:
-.:/usr/local/abc/service

关于docker - 有条件地在 docker-compose 中挂载卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777643/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com