【问题标题】:fail to access mysql via docker link无法通过 docker 链接访问 mysql
【发布时间】:2016-03-06 02:41:21
【问题描述】:

我使用两个 docker 容器,一个使用 mysql,另一个使用 wildfly 应用程序。如果我以这种方式启动它们,它工作正常:

docker run -d --name db -p 3306:3306 mysql_server 
docker run -d wildfly_server

但是由于我的主机通常使用3306端口,我想使用docker的链接功能:

docker run -d --name db  mysql_server 
docker run -d --link db  wildfly_server

这应该有效,但它没有:野蝇现在无法启动

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0348: Timeout after [300] seconds waiting for service container stability.

由于 ...(在堆栈的后面)com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)

在日志文件的前面,我找到了一行:

INFO  [org.eclipse.persistence.connection] Connected: jdbc:mysql://db:3306/mydb

所以 mysql 连接似乎可以连接,但之后并没有真正起作用。

docker link 命令对 mysql 连接有什么影响?据我了解,它应该只用私有 3306 端口替换公共 3306 端口?

我怎样才能独立于 wildfly 测试来自 wildfly-server 的 jdbc-connection?

【问题讨论】:

    标签: mysql docker wildfly


    【解决方案1】:

    进一步调查表明,这(几乎)与 docker 无关。使用 docker --link db 与数据库的连接似乎变慢了,因此数据库的初始化需要超过 5 分钟而不是 2-3 分钟,因此 wildfly 超时。

    【讨论】:

      猜你喜欢
      • 2017-10-10
      • 2021-05-19
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 2022-06-29
      • 2013-03-20
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多