在哪里保持与Docker / Docker-Compose一起使用的依赖关系(大文件或目录结构)?

作为开发环境的Docker设置的一部分,我使用Docker-Composepipe理以下内容:

  • 基于mysql:5.7 MySQL实例(在docker-compose.yaml文件中称为database
  • 基于tomcat:7.0两个Tomcat实例(称为managerruntime )。 这两个依赖于数据库存在,这通过docker-compose提供的link工作正常。

作为容器构build的一部分,我将几个SQL脚本映射到数据库容器中,这些脚本在创build时加载到数据库中。

对于Tomcat实例,我需要在每个容器中部署一个单独的WAR文件: manager.warmanagerruntime.warruntime 。 这些WAR文件的大小都是120 MB左右。

为了简单起见,我已经将WAR文件添加到用于pipe理docker-compose项目的Git项目中。 除了docker-compose.yaml文件和WAR文件之外,项目还包含SQL数据和一些我映射到相应容器的shell脚本。

目前我最大的问题是在哪里保留WAR文件,因为它们大大增加了Git仓库的大小。 由于我期望随着时间的推移对WAR文件进行更新(它们是在本项目之外创build/版本化的),所以我将不得不随时更新这些文件和更新的副本,进一步增加了回购的大小,这将使其变得困难让人们只要克隆回购。

如何解决这个问题? 我知道在Git仓库中保存二进制文件通常是一种不好的做法,但是我也希望保持文件靠近项目,所以使用这个文件的人不必开始search/下载文件,然后才能够用这个。

在Docker或Docker-Compose中是否有一个function可以帮助我pipe理这些“依赖关系”?

目前我最大的问题是在哪里保留WAR文件,因为它们大大增加了Git仓库的大小


使用这个工具 :

在这里输入图像说明