【发布时间】:2015-12-03 08:11:12
【问题描述】:
我是使用 spring boot 和 docker 的新手,但在运行 docker 容器时遇到了问题。 在调试模式下,应用程序启动没有问题,但是当我将它们作为容器运行时,出现了问题。 例如,我的服务器配置包含所有 yml 文件,还有 eureka 属性。 配置服务器完美启动,但不是 eureka 服务器,它必须向配置服务器查找它的配置,因为这些:
uri: ${vcap.services.config-service.credentials.uri:http://127.0.0.1:8888}
在尤里卡的日志中我可以找到:
找不到 PropertySource:GET 请求时出现 I/O 错误 "http://127.0.0.1:8888/server-eureka/default":连接被拒绝; 嵌套异常是 java.net.ConnectException: Connection denied
所以我看到尤里卡可以t connect to the config server for a reason I cant 理解。
也许我错过了 docker 文件中的某些内容。
【问题讨论】:
-
你是否从容器中暴露了 8888 端口?来自 "docs.docker.com/userguide/usingdocker" 当我们将 -P 标志传递给 docker run 命令时,Docker 将镜像中暴露的所有端口映射到我们的主机。
-
是的,当然,我用过 docker run -d -p 8888:8888 -t server/server-config 可以通过172.20.xx.xx:8888/env访问属性
-
也许您需要绑定到 localhost 而不是 172.20.xx.xx 此处提到的 serverfault.com/questions/565294/…
-
我得到了同样的结果
-
你是在不同的虚拟机还是在同一个虚拟机上运行容器?
标签: java spring docker spring-boot