Как собрать приложение в docker java mysql
Для сборки приложения 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
, и настройка может отличаться в зависимости от ваших требований.