Как собрать приложение в docker java mysql

Аватар пользователя Иван Полежаев
Иван Полежаев
14 апреля 2023

Для сборки приложения Java с использованием базы данных MySQL в контейнере Docker можно использовать следующие шаги:

  • Написать Dockerfile для приложения Java. Пример файла может выглядеть так:
FROM openjdk:11-jre-slim
COPY target/myapp.jar /app.jar
CMD ["java", "-jar", "/app.jar"]

В этом примере мы используем базовый образ openjdk:11-jre-slim, копируем собранный JAR-файл приложения в контейнер и запускаем его с помощью команды java -jar


  • Написать Dockerfile для базы данных MySQL. Пример файла может выглядеть так:
FROM mysql:latest
ENV MYSQL_ROOT_PASSWORD=password
ENV MYSQL_DATABASE=myapp
COPY init.sql /docker-entrypoint-initdb.d/

В этом примере мы используем базовый образ mysql:latest, устанавливаем пароль для пользователя root, создаем базу данных myapp и копируем файл init.sql в директорию /docker-entrypoint-initdb.d/. Этот файл будет автоматически выполнен при запуске контейнера.


  • Написать скрипт для сборки образов и запуска контейнеров. Пример скрипта может выглядеть так:
#!/bin/bash
mvn clean package
docker build -t myapp .
docker build -t mysql-db ./mysql
docker run -d --name mysql -p 3306:3306 mysql-db
docker run -d --name myapp --link mysql:mysql -p 8080:8080 myapp

В этом примере мы сначала собираем приложение с помощью Maven, затем создаем образы для приложения и базы данных. Затем мы запускаем контейнеры с помощью команды docker run. Опция --link позволяет связать контейнеры myapp и mysql, чтобы приложение могло подключаться к базе данных.


  • Проверить работу приложения.

осле запуска контейнеров можно проверить работу приложения, открыв веб-браузер и перейдя по адресу http://localhost:8080. Если все настроено правильно, вы должны увидеть страницу вашего приложения.

Это только пример сборки приложения с использованием базы данных MySQL в контейнере Docker, и настройка может отличаться в зависимости от ваших требований.

0 0

Похожие вопросы

1
ответ
1
ответ
1
ответ