Найти в Дзене
DEBAGanov

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

Для сборки приложения в Docker с использованием Java и MySQL, вам понадобятся следующие шаги: FROM openjdk:11-jre-slim
COPY target/myapp.jar /app.jar
CMD ["java", "-jar", "/app.jar"] В этом Dockerfile мы используем базовый образ openjdk:11-jre-slim, копируем скомпилированный JAR-файл вашего приложения в контейнер и запускаем его с помощью команды java -jar. FROM mysql:latest
ENV MYSQL_ROOT_PASSWORD=password
ENV MYSQL_DATABASE=myapp
COPY init.sql /docker-entrypoint-initdb.d/ В этом Dockerfile мы используем базовый образ mysql:latest, устанавливаем пароль для root пользователя, создаем базу данных с именем "myapp" и копируем файл init.sql в директорию /docker-entrypoint-initdb.d/. Файл init.sql содержит SQL-скрипты инициализации базы данных. docker build -t my-java-app .
docker build -t my-mysql-db . Команда docker build собирает Docker-образы на основе Dockerfile в текущей директории. Опция -t позволяет задать тег (имя) для образа. docker run -d --name my-mysql-container my-mysql-db

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

  • Создайте Dockerfile для Java-приложения:
FROM openjdk:11-jre-slim
COPY target/myapp.jar /app.jar
CMD ["java", "-jar", "/app.jar"]

В этом Dockerfile мы используем базовый образ 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/

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

  • Соберите оба Docker-образа с помощью команды docker build:
docker build -t my-java-app .
docker build -t my-mysql-db .

Команда docker build собирает Docker-образы на основе Dockerfile в текущей директории. Опция -t позволяет задать тег (имя) для образа.

  • Запустите контейнеры с помощью команды docker run:
docker run -d --name my-mysql-container my-mysql-db
docker run -d --name my-java-container --link my-mysql-container:mysql my-java-app

Команда docker run запускает контейнеры на основе Docker-образов. Опция -d запускает контейнер в фоновом режиме. Опция --name задает имя контейнера. Опция --link устанавливает связь между контейнерами, позволяя Java-приложению обращаться к MySQL-контейнеру по имени mysql.

Теперь ваше Java-приложение будет работать в контейнере Docker с MySQL-базой данных.

Примечание: Убедитесь, что у вас установлен Docker на вашей машине перед выполнением этих шагов.

3019 вопрос-ответ по Java

Курс Spring Framework

Tелеграмм каналDEBAGanov

Мое резюмеDEBAGanov

Если вам понравилось, буду признателен за подписку.