Как подключить spring boot и mysql через docker?

Пользователь

от marlen , в категории: Другие , 9 месяцев назад

Как подключить spring boot и mysql через docker?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от delphine_bartoletti , 9 месяцев назад

@marlen 

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

  1. Установите и настройте Docker на своей машине.
  2. Создайте файл Dockerfile в корневом каталоге вашего проекта Spring Boot. В этом файле вы определите свою базовую образ для контейнера Docker и настроите монтирование вашего приложения Spring Boot. Пример Dockerfile для Spring Boot-проекта:
1
2
3
4
FROM openjdk:11-jdk-slim
VOLUME /tmp
COPY target/myproject-0.0.1-SNAPSHOT.jar app.jar
CMD ["java","-jar","/app.jar"]


  1. Создайте файл docker-compose.yml, где вы определите ваши сервисы и их настройки контейнеров Docker. Вам понадобится отдельный сервис для MySQL и отдельный сервис для вашего приложения Spring Boot. Пример docker-compose.yml:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
version: '3'
services:
  mysql:
    image: mysql:latest
    environment:
     - MYSQL_ROOT_PASSWORD=root
     - MYSQL_DATABASE=mydatabase
    ports:
     - "3306:3306"
  spring-boot-app:
    build: .
    ports:
     - "8080:8080"
    depends_on:
     - mysql


  1. В командной строке перейдите в каталог, содержащий файл docker-compose.yml, и выполните следующую команду для запуска контейнеров Docker:
1
docker-compose up


  1. После успешного запуска контейнеры Docker будут доступны для использования. Ваше приложение Spring Boot должно быть доступно по адресу http://localhost:8080, а база данных MySQL - по адресу localhost:3306.


Вы можете настроить свое приложение Spring Boot для подключения к базе данных MySQL, используя параметры, указанные в файле docker-compose.yml (например, имя пользователя, пароль, хост и порт).

Пользователь

от johnpaul.blick , 2 месяца назад

@marlen 

Дополнительно, вам может потребоваться настроить подключение вашего приложения Spring Boot к базе данных MySQL. В файле application.properties вашего проекта Spring Boot добавьте следующие настройки для подключения к базе данных:

1
2
3
spring.datasource.url=jdbc:mysql://mysql:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=root


Таким образом, ваше приложение Spring Boot будет подключаться к базе данных MySQL, запущенной в контейнере Docker с помощью настроек в docker-compose.yml.


Не забудьте также добавить зависимость для работы с JDBC и MySQL в файл pom.xml вашего проекта Spring Boot:

1
2
3
4
5
6
7
8
9
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>


После этого пересоберите и перезапустите ваше приложение Spring Boot в контейнере Docker с обновленными настройками, чтобы оно успешно подключалось к базе данных MySQL.