Докеризация Java-приложения с использованием эксклюзивной базы данных MySQL - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть приложение Java, для работы которого требуется база данных MySQL / MariaDB.Моя цель - создать для него автономный образ Docker.Я просмотрел несколько учебных пособий, но они, кажется, противоречат тому, чего я хочу достичь.Это заставляет меня сомневаться в том, что моя цель в первую очередь уместна, но я все еще не понимаю, почему она не будет разумной.

Мне все равно, чтобы разделить сервер MySQL с несколькими базами данных.в теме.Важно только, чтобы БД приложения была там, и ничего больше.

Как правильно построить такой образ Docker?

Я делаю два контейнера с помощью docker-composeодин для БД и один для Java-приложения?Это то, что большинство, кажется, предлагает, но я хочу изображение, которое может быть просто извлечено из реестра и будет работать из коробки.

Я делаю одно изображение ИЗ образа MySQL / MariaDB и добавляю Java имое приложение к нему?

Сделать одно изображение из образа OpenJDK и добавить к нему MySQL / MariaDB и мое приложение?

Есть ли другой способ продолжить?

Большое спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

Образ Docker предназначен для запуска одной команды, поэтому, хотя вы можете добавить свои файлы приложения в образ MySQL (или наоборот), вам будет сложно запустить оба.

Вы шли по правильному пути с docker-compose - это позволило бы вам определить два контейнера и то, как они работают. Это может фактически дать вам более простое развертывание, чем автономные контейнеры.

Вы также можете рассмотреть возможность вообще не отправлять контейнер MySQL. Почему бы не дать вашему приложению возможность создать необходимую базу данных и добавить опцию конфигурации, чтобы пользователь мог указать ей, где найти сервер базы данных? Если пользователь решит использовать закрепленный экземпляр MySQL, он может просто извлечь vanilla mysql:latest образ и настроить порты самостоятельно.

Или, добавив эту функцию в свое приложение, вы можете отправить решение Compose с экземпляром MySQL vanilla, для которого требуется только один пользовательский Dockerfile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...