我让mysql在一个码头容器中运行:
docker run -it --name mysql-db -e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=db -e MYSQL_USER=root -e MYSQL_PASSWORD=root mysql:latest
docker start mysql-db我想在另一个坞容器中运行我的Spring应用程序(使用Maven):
docker build -t java-app .
docker run -it --name java-app --link mysql-db:mysql -p 8080:8080 java-app
docker start java-app但我有个例外:
由: java.net.ConnectException:连接拒绝(连接拒绝)引起
我的Dockerfile:
FROM java:8
ADD target/demo-0.0.1-SNAPSHOT.jar /usr/share/demo/demo.jar
ENTRYPOINT ["/usr/bin/java", "-jar", "/usr/share/demo/demo.jar"] 我的application.yml:
spring:
# General JPA properties
jpa:
show-sql: false
database-platform: org.hibernate.dialect.MySQL57Dialect
# Hibernate Specific properties
hibernate:
ddl-auto: create
properties:
hibernate:
format_sql: false
# DataSource configuration
datasource:
url: jdbc:mysql://mysql:3306/db
username: root
password: root我的问题是什么?
MySQL日志中有关于-skip-name-resolve mode的警告。
发布于 2017-12-14 20:21:04
看来你的数据库根本不工作了。您可以通过在第二终端上运行docker ps或docker exec -it mysql-db mysql -u root -proot db来验证这一点。它可能会失败。原因是您使用的-e MYSQL_USER=root标志。这个停靠器映像使用您提供的密码创建根用户,因此当您想再次创建根用户时,它会失败并关闭容器。只需将其更改为-e MYSQL_USER=myuser,它就会正常工作。
https://stackoverflow.com/questions/47810349
复制相似问题