Как собрать приложение в 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
Основы Java за 14 дней
  • 62 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

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

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