контекст < /h2>
Я пытаюсь контейнерировать свое приложение Jakarta EE. Но у меня возникают проблемы, подключающиеся к контейнеру базы данных из контейнера, на котором работает мой сервер дикой стады. /> Приложение Angular Frontend, которое получает из конечных точек бэкэнд < /li>
< /ul>
Все работает локально. И мне удалось справиться с брендом и базой данных без проблем. Я даже тестировал, чтобы развернуть свой сервер диких жиров локально (через Intellij War: Apploded) и подключиться к контейнерам Frontend и базы данных, и это работает ОК. />jdbc.exceptions.communicationsexception: сбой связи связи < /li>
Невозможно определить диалект без метаданных jdbc < /li>
< /ul>
Шаги, предпринятые для контейнеризации дикой стадии < /h2>
.FROM quay.io/wildfly/wildfly
COPY ./wildfly-config/com /opt/jboss/wildfly/modules/com
COPY ./wildfly-config/config-script.cli /opt/jboss/config-script.cli
COPY ./wildfly-config/logging-script.cli /opt/jboss/logging-script.cli
RUN /opt/jboss/wildfly/bin/jboss-cli.sh --file=/opt/jboss/logging-script.cli
RUN /opt/jboss/wildfly/bin/jboss-cli.sh --file=/opt/jboss/config-script.cli
RUN rm -Rf /opt/jboss/wildfly/standalone/configuration/standalone_xml_history/*
RUN /opt/jboss/wildfly/bin/add-user.sh admin test1234
WORKDIR /opt/jboss/wildfly/standalone/deployments
COPY ./target/SusFund-1.0-SNAPSHOT.war ./SusFund-1.0-SNAPSHOT.war
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "--debug"]
(Примечание: ./wildfly-config/com содержит com/mysql/main/module.xml и mysql-connector-j-9.2.0.jar)
step 2: Добавлено config-script.embed-server --server-config=standalone.xml --std-out=echo
batch
/subsystem="datasources"/data-source="MySQLDS":add(\
connection-url="jdbc:mysql://db:7777/susfund_db", \
driver-name="mysql", \
enabled="true", \
jndi-name="java:/jdbc/MySQLDataSource")
/subsystem="datasources"/jdbc-driver="mysql":add(\
driver-name="mysql", \
driver-module-name="com.mysql", \
driver-class-name="com.mysql.cj.jdbc.Driver")
run-batch
Шаг 3: Установите пароль root в базе данных dockerfile
FROM mysql:latest
ENV MYSQL_ROOT_PASSWORD=test1234
COPY ./scripts/dbinit.sql /docker-entrypoint-initdb.d/
Шаг 4: Подразделение Persistence.xml настройки.
jdbc/MySQLDataSource
Шаг 5: Создать файл docker-compose.yml с той же сетью, чтобы я мог использовать «DB: 7777» в подключении-URL в instalone.xml
services:
susfund-fe:
container_name: susfund-fe
build:
context: .
dockerfile: Dockerfile.frontend
ports:
- "4200:4200"
networks:
- susfund
db:
container_name: susfund-db
build:
context: .
dockerfile: Dockerfile.db
ports:
- "7777:3306"
networks:
- susfund
wildfly:
container_name: susfund-wildfly
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
- "9990:9990"
networks:
- susfund
depends_on:
- db
networks:
susfund:
< /code>
структура проекта Maven: < /h2>
susfund-backend
--java
--org.andreasoo.susfund....
--resources
--META-INF
--beans.xml
--persistence.xml
после MVN Clean Install:
target
--classes
--maven-archiver
--SusFund-1.0-SNAPSHOT
--META-INF (empty)
--WEB-INF
--classes
--META-INF
--beans.xml
--persistence.xml
--org.andreasoo.susfund....
Я не уверен, почему в папке Susfund есть два мета-инф (OCH, какой из них пуст).
4.0.0
org.andreasoo
SusFund
1.0-SNAPSHOT
SusFund
war
UTF-8
21
21
5.11.0
jakarta.enterprise
jakarta.enterprise.cdi-api
4.1.0
provided
jakarta.ejb
jakarta.ejb-api
4.0.1
provided
mysql
mysql-connector-java
8.0.32
jakarta.persistence
jakarta.persistence-api
3.2.0
provided
jakarta.ws.rs
jakarta.ws.rs-api
4.0.0
provided
jakarta.servlet
jakarta.servlet-api
6.1.0
provided
org.junit.jupiter
junit-jupiter-api
${junit.version}
test
org.junit.jupiter
junit-jupiter-engine
${junit.version}
test
susfund-backend/main/java
susfund-backend/main/resources
org.apache.maven.plugins
maven-war-plugin
3.4.0
false
Подробнее здесь: https://stackoverflow.com/questions/795 ... ainer-to-m
Сбой связи связи при попытке подключить контейнер Docker Docker Wildfly к контейнеру MySQL Docker ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение