powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / docker-compose: error creating bean with name 'entitymanagerfactory'
3 сообщений из 3, страница 1 из 1
docker-compose: error creating bean with name 'entitymanagerfactory'
    #39935125
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Использую Docker на Windows 10. Spring App(war) должно читать базу из другого контейнера.
1-ый контейнер: CentOS7 + Tomcat8 + JRE8 + Spring App(war)
2-ой контейнер: MariaDB10.4

Как приложению правильно объяснить где лежит БД? Т.к. название сервиса -db- он не понимает.

Dockerfile
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
FROM centos:7

ENV JAVA_HOME /usr/java/latest
ENV CATALINA_HOME /opt/apache-tomcat-8.5.51
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin


COPY jre-8u241-linux-x64.rpm /temp/
COPY apache-tomcat-8.5.51.tar.gz /temp/
COPY application.properties /temp/

RUN yum -y install /temp/jre-8u241-linux-x64.rpm && \
    #yum check-update && yum -y install mc  && \
    tar xvzf /temp/apache-tomcat-8.5.51.tar.gz -C /opt/ && \
    rm -f /temp/jre-8u241-linux-x64.rpm && \
    rm -f /temp/apache-tomcat-8.5.51.tar.gz

COPY webapp.war /opt/apache-tomcat-8.5.51/webapps

EXPOSE 8080

CMD catalina.sh run


docker-compose.yml
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
version: '3'

services:
    web:
        build: .
        ports:
           - 7777:8080
        depends_on:
           - db
    db:
        image: mariadb
        container_name: mariadb_hsm
        restart: always
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_DATABASE=sc_hsm
            - MYSQL_USER=hsm
            - MYSQL_PASSWORD=hsm
        ports: 
            - 3307:3306
        volumes:
            - C:\docker\hsm\data:/var/lib/mysql                        
        command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']


application.properties
Код: html
1.
2.
3.
4.
5.
6.
spring.datasource.url=jdbc:mariadb://db:3307/sc_hsm
spring.datasource.username=hsm
spring.datasource.password=hsm
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDB103Dialect
spring.jpa.hibernate.ddl-auto=update


catalina.log
Код: html
1.
2.
3.
 error creating bean with name 'entitymanagerfactory' defined in class path resource docker
...
could not connect to address=(host=db)(port=3307)(type=master)
...
Рейтинг: 0 / 0
docker-compose: error creating bean with name 'entitymanagerfactory'
    #39935167
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar
Как приложению правильно объяснить где лежит БД? Т.к. название сервиса -db- он не понимает.
можно через переменные окружения по аналогии с тем как мускульной базе задаются параметры. Если мне память не изменяет про java_проперти и через переменные окружения можно проставить, единственное правила как переода имени проперти в переменную окружения найти надо бы
...
Рейтинг: 0 / 0
docker-compose: error creating bean with name 'entitymanagerfactory'
    #39935282
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подключитесь к контейнеру web и попробуйте пропинговать db ну и доступность порта проверьте.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / docker-compose: error creating bean with name 'entitymanagerfactory'
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]