我尝试使用MySQL Docker Container来控制我的spring boot应用程序。我跑了一下:
docker run --name mysql-demo -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:lat并得到了
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d540d1824b9 mysql:latest "docker-entrypoint.s…" 23 minutes ago Up 23 minutes 3306/tcp, 33060/tcp mysql-demo在我的spring应用程序中,我有一个属性文件:
spring.datasource.url=jdbc:mysql://mysql-demo:3306/test
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=update
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect当我尝试运行此应用程序或构建jar时,它会崩溃并显示以下错误
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.如果我在没有docker的情况下在本地使用mysql,则应用程序可以工作
发布于 2021-03-16 01:25:55
你没有暴露端口3306。您必须使用-p3306:3306执行此操作,否则无法访问此端口。
docker run -p3306:3306 --name mysql-demo -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:lat发布于 2021-03-16 06:19:32
我在同一个网络中运行了这两个容器
更多信息请点击此处:how to access mysql docker container in spring boot docker container
https://stackoverflow.com/questions/66642668
复制相似问题