使用专用mysql数据库停靠java应用程序

nwsw7zdq  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(279)

我有一个java应用程序,需要一个mysql/mariadb数据库才能工作。我的目标是为它建立一个独立的docker映像。我查阅了许多教程,但它们似乎与我想要达到的目标相矛盾。这让我开始怀疑我的目标是否合适,但我仍然不明白为什么这个目标不合理。
我不喜欢共享mysql服务器,因为它上面有多个数据库。重要的是应用程序的db应该在那里,而不是别的。
怎样才能树立这样的码头形象?
我是否用docker compose制作了两个容器,一个用于db,一个用于java应用程序?这似乎是大多数人的建议,但我想要一个图像,可以从注册表中拉出来,并将开箱即用。
我是否从mysql/mariadb映像创建一个映像,并向其中添加java和我的应用程序?
我是否从openjdk映像创建一个映像,并向其中添加mysql/mariadb和我的应用程序?
还有别的办法吗?
非常感谢

zz2j4svz

zz2j4svz1#

docker映像设计为运行单个命令,因此尽管您可以将应用程序文件添加到mysql映像(反之亦然),但您很难同时运行这两个命令。
你正朝着正确的方向前进 docker-compose -这将允许您定义这两个容器以及它们的运行方式。这实际上比独立容器提供了更简单的部署。
您还可以考虑根本不运送mysql容器。为什么不让您的应用程序能够创建所需的数据库,并为用户添加一个config选项来告诉它在哪里可以找到数据库服务器呢?如果用户选择使用一个停靠的mysql示例,他们就可以直接拉香草 mysql:latest 映像和配置端口本身。
或者,一旦将该功能添加到应用程序中,就可以使用vanilla mysql示例提供一个compose解决方案,只需要一个自定义dockerfile。

相关问题