在哪里保持与Docker / Docker-Compose一起使用的依赖关系(大文件或目录结构)?
作为开发环境的Docker设置的一部分,我使用Docker-Composepipe理以下内容:
- 基于
mysql:5.7
MySQL实例(在docker-compose.yaml
文件中称为database
) - 基于
tomcat:7.0
两个Tomcat实例(称为manager
和runtime
)。 这两个依赖于数据库存在,这通过docker-compose提供的link
工作正常。
作为容器构build的一部分,我将几个SQL脚本映射到数据库容器中,这些脚本在创build时加载到数据库中。
对于Tomcat实例,我需要在每个容器中部署一个单独的WAR文件: manager.war
到manager
和runtime.war
到runtime
。 这些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仓库的大小
使用这个工具 :