一尘不染

有条件地在docker-compose中安装卷

docker

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

我希望能够传递(覆盖)将war要由主机上的某些人部署的存档。我认为最好的办法就是以某种方式切换/覆盖启动docker- compose:默认情况下,我想运行war容器内的webapp(文件),但是我希望有可能从主机上挂载目录(对于开发/调试过程中的示例)。

当前,我的行中有以下行,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

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


阅读 324

收藏
2020-06-17

共1个答案

一尘不染

我将使用https://docs.docker.com/compose/extends/#example-use-
case来运行指定一个卷的服务扩展,而不是(不)安装一个卷以注释该行。

我这样做是为了解决两个不同的问题:

  • 当docker镜像要在生产环境中运行并捆绑了所有必需的文件时,我没有指定卷。
  • 我在开发期间指定了一个卷,以检查实时更改。
2020-06-17