作为开发环境的Docker设置的一部分,我使用Docker-Compose管理以下内容:
database
docker-compose.yaml
文件中名为mysql:5.7
)
manager
的两个Tomcat实例(称为runtime
和tomcat:7.0
)。这两个依赖于要存在的数据库,通过docker-compose提供的link
可以正常工作。作为容器构建的一部分,我将几个SQL脚本映射到数据库容器中,这些脚本在创建时会加载到数据库中。
对于Tomcat实例,我需要将一个单独的WAR文件部署到每个容器中:manager.war
到manager
和runtime.war
到runtime
。每个WAR文件的大小约为120 MB。
为了简单起见,我已将WAR文件添加到用于管理docker-compose
项目的Git项目中。除了docker-compose.yaml
文件和WAR文件之外,项目还包含SQL数据和一些我映射到相应容器的shell脚本。
目前我最大的问题是保留WAR文件的位置,因为它们会显着增加Git仓库的大小。由于我希望随着时间的推移更新WAR文件(它们是在这个项目之外创建/版本化的),我将不得不用更新的副本不时地替换这些文件,这将进一步增加回购的大小,这将使其变得困难让人们只是克隆回购。
如何处理这样的事情?我知道在Git仓库中保留这些二进制文件通常是一种不好的做法,但我也希望将文件保持在项目附近,因此使用它的人不必开始搜索/下载文件,然后才能用这个。
Docker或Docker-Compose中是否有一项功能可以帮助我管理这些“依赖项”?