首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.net.UnknownHostException: postgres

java.net.UnknownHostException: postgres
EN

Stack Overflow用户
提问于 2019-06-04 08:33:07
回答 1查看 6.5K关注 0票数 2

我试图在kubernetes上部署spring引导应用程序,并连接到本地主机上的postgres。

春季启动部署是可以的。对于postgres,我做了

代码语言:javascript
复制
kind: Service
apiVersion: v1
metadata:
  name: postgres
  namespace: default
spec:
  type: ExternalName
  # https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds
  externalName: host.docker.internal
  ports:
    - name: port
      port: 5432

kubectl得到svc给出

代码语言:javascript
复制
postgres           ExternalName   <none>           host.docker.internal   5432/TCP         9m13s

我是数据库网址

代码语言:javascript
复制
jdbc:postgresql://postgres:5432/postgres

因此,spring启动已部署的日志提供异常,如

代码语言:javascript
复制
 java.net.UnknownHostException: postgres
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-04 10:49:56

这个特性只适用于Mac和Win Docker,所以如果您在Linux上运行它,它将不起作用。

Linux对这个主机名的支持已经实现,很可能在接下来的几天/几周内实现:码头/libnetwork#2348

虽然Linux还没有发布,但仍然有一些解决办法。

I.您可以在您的项目中创建一个名为..ddev/docker-Compose.x调试g.yaml的文件,其中包含以下内容:

代码语言:javascript
复制
# For Linux users; Docker has not yet supported the "host.docker.internal"
# convention that is used in ddev v0.18.0. But if you add this file as
# .ddev/docker-compose.xdebug.yaml it should sort that out.
# Note that the IP address in your environment might not be 172.17.0.1,
# Find out what address to use with "ifconfig docker0" or "ip addr show docker0 | grep inet"
version: "3"
services:
  web:
    extra_hosts:
      # Find out what address to use with "ifconfig docker0" or "ip addr show docker0 | grep inet"
      - "host.docker.internal:172.17.0.1"

II.使用此图像将TCP和UDP通信转发到码头主机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56440172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档