Java 在Docker windows桌面上部署带有springboot应用程序的Mysql错误

Java 在Docker windows桌面上部署带有springboot应用程序的Mysql错误,java,mysql,spring-boot,compiler-errors,dockerfile,Java,Mysql,Spring Boot,Compiler Errors,Dockerfile,我是一名新的docker应用程序用户,我一直在尝试使用docker for windows部署我的应用程序,我成功地创建了MYSQL和应用程序映像/容器,并确认我的容器正在运行 ** 我还创建了一个网络arknet,我的app/mysql容器在其上运行 PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker network ls

我是一名新的docker应用程序用户,我一直在尝试使用docker for windows部署我的应用程序,我成功地创建了MYSQL和应用程序映像/容器,并确认我的容器正在运行

**

我还创建了一个网络arknet,我的app/mysql容器在其上运行

PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker network ls                                                                                                                                                                                                                   NETWORK ID          NAME                     DRIVER              SCOPE
42dffaf576e3        Default Switch           ics                 local
70bd03f5eff8        Primary Virtual Switch   transparent         local
abb7f62bb700        arknet                   nat                 local
112759e62dbc        nat                      nat                 local
bdc9465104cc        none                     null                local

PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker container run --network arknet --name arkk-app-container -p 8085:8085  -d arkk-app 

PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker container run --name arkinventory --network arknet -e MYSQL_ALLOW_EMPTY_PASSWORD=True -e MYSQL_DATABASE=arkkk -e MYSQL_USER=root -e MYSQL_ALLOW_EMPTY_PASSWORD=True -d mysql:8        
 FROM openjdk:8
    ADD target/arkk-app.jar arkk-app.jar
    EXPOSE 8085
    ENTRYPOINT ["java","-jar","arkk-app.jar"]
但是,在完成上述步骤后,我尝试在应用程序映像容器上运行日志,以验证代码是否正常工作,但出现以下错误。

PS C:\Users\LIFE 3\eclipse workspace\Arkk>docker日志Arkk应用程序容器

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.18.jar!/:8.0.18]
        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.18.jar!/:8.0.18]
**每当我将应用程序属性中的容器ID(arkd)更改为LOCALHOST时。然后应用程序似乎正在运行

请注意:我正在使用我的本地数据库。我的本地数据库名为arkk,在docker容器中创建的本地数据库名为arkinventory**

spring.datasource.url=jdbc:mysql://arkinventory:3306/arkkk?serverTimezone=UTC

spring.datasource.username=root
spring.datasource.password=
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# hibernate configurations
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialet = org.hibernate.dialect.MySQL5Dialect


# thumeleaf configurations
spring.thymeleaf.mode= LEGACYHTML5
spring.thymeleaf.cache=false

#Spring Security login queries
security.basic.enabled=false
spring.queries.users-query=select email, password, '1' as enabled from auth_user where email=? and status='VERIFIED'
spring.queries.roles-query=select u.email, r.role_name from auth_user u inner join auth_user_role ur on(u.auth_user_id=ur.auth_user_id) inner join auth_role r on(ur.auth_role_id=r.auth_role_id) where u.email=?

server.port=8085
下面的代码是我在spring boot应用程序中创建的文档

PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker network ls                                                                                                                                                                                                                   NETWORK ID          NAME                     DRIVER              SCOPE
42dffaf576e3        Default Switch           ics                 local
70bd03f5eff8        Primary Virtual Switch   transparent         local
abb7f62bb700        arknet                   nat                 local
112759e62dbc        nat                      nat                 local
bdc9465104cc        none                     null                local

PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker container run --network arknet --name arkk-app-container -p 8085:8085  -d arkk-app 

PS C:\Users\LIFE 3\eclipse-workspace\Arkk> docker container run --name arkinventory --network arknet -e MYSQL_ALLOW_EMPTY_PASSWORD=True -e MYSQL_DATABASE=arkkk -e MYSQL_USER=root -e MYSQL_ALLOW_EMPTY_PASSWORD=True -d mysql:8        
 FROM openjdk:8
    ADD target/arkk-app.jar arkk-app.jar
    EXPOSE 8085
    ENTRYPOINT ["java","-jar","arkk-app.jar"]

请帮助解决此问题。谢谢

您的
spring应用程序
容器和
mysql db
容器是否在同一
docker网络
中?请添加用于创建
mysql
和应用程序容器的命令,以及应用程序错误的完整堆栈跟踪。您是否检查了数据库是否正在工作或未使用Workbench或其他工具?此外,无论您在那里发布的容器是什么,都没有运行。它们的状态是
已退出
。您的
spring应用程序
容器和
mysql db
容器是否在同一
docker网络
中?请添加用于创建
mysql
和应用程序容器的命令,以及应用程序错误的完整堆栈跟踪。您是否检查了数据库是否正在工作或未使用Workbench或其他工具?此外,无论您在那里发布的容器是什么,都没有运行。它们的状态为退出。