我是Docker的新手,所以我想知道使用它的更好方法是什么。我有一个需要三个组件才能工作的项目:
Jboss服务器应用程序
PostgreSQL
Spring Boot应用程序
因此,基于此,我的问题是:
1)对于上述每个组件,我应该有一个docker映像吗?如果是,为什么不将所有内容放在一起?我对docker的想法是简化应用程序的部署,因此将它们放在一起将使在其他环境中轻松安装此应用程序变得容易,对吧?
2)如果是(每个组件一个docker映像),spring boot只是一个“ Java -jar”命令,真的有必要添加docker映像吗?
3)在PostgreSQL的情况下,我应该具有包含所有数据库结构和数据的图像,还是只有原始PostgreSQL而不包含任何内容?
答案 0 :(得分:2)
回答您的问题
1)我应该为上述每个组件使用一个docker映像吗? 如果是,为什么不将所有内容放在一起?我对docker的想法是简化 应用程序的部署,因此将它们放在一起将使 在另一个环境中安装此应用,对吗?
最好将它们放在单独的组件上,以便:
列表继续
2)如果是(每个组件一个docker映像),则spring boot只是一个 “ Java -jar”命令真的有必要添加docker镜像吗?
请检查上面提到的列表(为什么最好分开)是否适合您的用例。请注意,将其添加到现有组件中会影响您的扩展策略 < / p>
示例-使用Spring Boot应用程序运行3个 jboss组件实例,您将为两个实例都生成3个您可能不想要的实例。
3)如果是PostgreSQL,我应该在所有数据库中都包含该映像吗? 结构和数据,或者只是没有任何内容的原始PostgreSQL?
我建议您将结构和数据安装到主机卷,这样在重新启动映像时不会丢失它。 see example,所以我建议您使用香草Postgres
我希望这会对您有所帮助