繁体   English   中英

无法在 javaee 中正确运行容器

[英]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&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;connectionCollation=utf8_general_ci&amp;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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM