[英]can't run containers in javaee correctly
我正在熟悉 Docker,我需要将它注入我的应用程序。 我有一些问题:
我的容器总是摔倒并重新启动,可能有人在 JavaEE 应用程序中遇到了 docker-compose 和 MySQL。
我的 dockerfile:
FROM maven:3.6.3-jdk-11
COPY ./ ./
RUN mvn clean package
CMD ["java", "-war","target/javaee_rest_jdbc_todo_list.war"]
docker-compose文件
version: "3.7"
services:
api_service:
build: .
hostname: api_service
restart: always
ports:
- 8090:8080
depends_on:
- mysql_db
mysql_db:
image: "mysql:8.0"
hostname: mysql_db
restart: always
ports:
- 3308:3306
environment:
MYSQL_DATABASE: javaee_task_db
MYSQL_USER: user228
MYSQL_PASSWORD: user228
MYSQL_ROOT_PASSWORD: 13574637480326
我的 pom.xml 文件中还有 flyway 插件:
<plugin>
<groupId>com.googlecode.flyway</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<user>user228</user>
<password>user228</password>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://mysql_db:3308/javaee_task_db?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8_general_ci&characterSetResults=UTF-8</url>
</configuration>
</plugin>
而我的dataSourse url 连接:
final static String URL = "jdbc:mysql://mysql_db:3308/javaee_task_db?useSSL=false";
我还附上了 github - https://github.com/MatveyAndrosyukk/javaee_rest_jdbc_todo_list的链接。
我将非常感谢您的帮助!
我注意到的第一个问题是 DataSourse URL 应该使用 docker 网络中的 DB 端口,即3306
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.