无法将主机名“postgres”翻译为地址:名称或服务未知

2023-12-09

我正在尝试运行一个依赖于 postgresql 数据库的服务,但我不知道如何将两者链接在一起/连接。

我“依赖”数据库,这似乎意味着我应该能够使用服务名称作为数据库主机名(即due_database)但每当我这样做时,我都会收到错误:

could not translate host name "due_database" to address: Name or service not known

这是怎么回事?

version: '3'
services:
  due:
    restart: always
    build:
      context: ./
      dockerfile: ./docker/bot/Dockerfile
    command: ./due
    depends_on:
      - due_database
  due_database:
    build:
      context: ./
      dockerfile: ./docker/database/Dockerfile
    ports:
        - "5432:5432"
    environment:
      - POSTGRES_PASSWORD="docker"
    entrypoint: /entry.sh
    volumes:
      - ./.dueutil_db:/dueutil_data

Update:

version: '2.1'
services:
  due:
    restart: always
    build:
      context: ./
      dockerfile: ./docker/bot/Dockerfile
    entrypoint: /entry.sh
    command: ./due
    depends_on:
      due_database:
        condition: service_healthy
    environment:
      - PGPASSWORD="docker"
  due_database:
    image: postgres:11
    ports:
        - "5432:5432"
    environment:
      - POSTGRES_PASSWORD="docker"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - ./.dueutil_db:/var/lib/postgresql/data

我通过将创建数据库脚本移到 postgres 映像之外解决了第一个问题,因为这与 postgres 入口点冲突。 但是我仍然不知道如何从应用程序的容器连接到数据库。

我目前正在尝试psql -U postgres -h due_database postgres -f <sql script>但我刚刚得到:

psql: could not connect to server: Connection refused
    Is the server running on host "due_database" (172.18.0.2) and accepting
    TCP/IP connections on port 5432?

注意我确实看到了:psql:无法将主机名“somePostgres”转换为地址:名称或服务未知但这个问题似乎已经过时并且没有得到任何好的答案。


尝试使用network,我不确定,但也许它可以帮助你:

version: '3'
# ----------------
# CREATE NEW NETWORK
networks:
  app:
    driver: bridge
# ----------------
services:
  due:
    restart: always
    build:
      context: ./
      dockerfile: ./docker/bot/Dockerfile
    command: ./due
    depends_on:
      - due_database
    # ---------------
    # SPECIFY NETWORK
    networks:
      - app
    # ---------------

  due_database:
    build:
      context: ./
      dockerfile: ./docker/database/Dockerfile
    ports:
        - "5432:5432"
    environment:
      - POSTGRES_PASSWORD="docker"
    entrypoint: /entry.sh
    volumes:
      - ./.dueutil_db:/dueutil_data
    # ---------------
    # SPECIFY NETWORK
    networks:
      - app
    # ---------------
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法将主机名“postgres”翻译为地址:名称或服务未知 的相关文章

随机推荐

  • 调用 EnvelopesApi#update_document_tabs 返回错误

    我想一次更新文档的所有选项卡 该文档的信封是根据已定义收件人和选项卡的模板创建的 我正在调用this具有以下有效负载的端点来更新选项卡 textTabs validationPattern validationMessage shared
  • 适用于 Windows Phone 7 的 Windows Live ID 身份验证

    我正在开发一个 Windows Phone 7 应用程序 但不想重新实现我自己的身份 身份验证服务 特别是当我们知道用户将使用 Windows Live 帐户登录时 但是我明白从这个线程Microsoft 不会授予对登录用户详细信息的访问权
  • 使用 Python 读取 MS-Word 文件中页眉和页脚中的表格内容

    这是我对这个问题的扩展问题 如何使用Python读取MS Word文件中表格的内容 YusuMishi 提供的解决方案很棒 但它没有捕获页眉和页脚中的页眉 Let me elaborate on that 使用代码 import win32
  • 如何优化这段javascript代码?

    如何优化这个功能呢 我可以为所有操作创建一个函数吗 b hat1 click function hat3 hide hat2 hide hat1 show b hat2 click function hat3 hide hat2 show
  • hibernate 和通用字段映射

    我想用 Hibernate 映射超类中的通用字段 我的妈妈班是 Entity Table name ParameterValue Inheritance strategy InheritanceType SINGLE TABLE Discr
  • 位移位、屏蔽还是位域结构?

    我是使用位的新手 我正在尝试使用现有协议 该协议可以发送三种不同类型的消息 类型1是16位结构 struct digital unsigned int type 2 unsigned int highlow 1 unsigned int s
  • 如何将aidl文件添加到Android studio(来自应用内计费示例)

    我目前正在将 Eclipse 应用程序迁移到 Android Studio 此应用程序使用应用程序内计费 我的主要问题是编译项目和aidl文件 我猜你们都使用这个文件 我收到此错误消息 Gradle error cannot find sy
  • 将两个ScrollView连接在一起

    这是我一直在解决的一个棘手的 iPhone 问题 我在页面上有三个 UIScrollView 一个仅水平滚动 一个仅垂直滚动 一个既水平又垂直滚动 我想将视图锁定在一起 以便水平滚动视图的水平位置与主滚动视图的水平位置匹配 垂直滚动视图同样
  • javax 与 java 包

    javax 包背后的基本原理是什么 java 和 javax 分别包含哪些内容 我知道很多企业包都在 javax 中 但 Swing 新的日期和时间 api JSR 310 以及其他 J2SE 包也是如此 起初javax旨在用于扩展 有时东
  • 将 HTML 从 JEditorPane 复制到外部应用程序时出现问题

    我在将 HTML 从 JEditorPane 复制到系统剪贴板然后粘贴到其他应用程序时遇到问题 OpenOffice 3 2 提示 请求的剪贴板格式不可用 Thunderbird 3 13 对粘贴不执行任何操作 Firefox 3 6 9
  • 为什么onStart没有被调用?

    我正在尝试实现一个非常简单的服务示例 用户通过 EditText 输入值并单击计算按钮 计算按钮会触发一个服务 该服务执行一些计算并将结果发送回另一个 EditText 框 如果我使用没有绑定的简单服务 则在执行计算之前会显示结果 因此我想
  • 逐行读取图像像素

    我一直在开发一个项目 该项目需要我的代码获取图像的像素数据并重建它 以另一种形式 但是当我尝试使用像素数据创建图像时 结果发现所有像素都在同一行 这是我的代码 pixels image getdata img array np array
  • 你能让计数器不写出“Counter”吗?

    所以当我打印计数器时 from collections import Counter 到一个文件我总是得到这个文字Counter Foo 12 有没有办法让计数器不那么字面地写出来 所以它会写 Foo 12 代替Counter Foo 12
  • mean.js 应用程序中的 ngDialog

    我用 MeanJS 创建了一个网络应用程序 我想在应用程序中使用 ngDialog 但不确定如何以及在何处添加 ngDialog js 在应用程序中 我尝试将 ngDialog 注入控制器中 如下所示 但每次都会出现未知提供者错误 angu
  • script.sh:第 1 行:./gradlew:Jenkins 上没有这样的文件或目录

    这是我收到的错误消息 gradlew clean assembleRelease Users bhanukaisuru jenkins workspace OrelGo tmp durable b74adbad script sh 第 1
  • 每当我尝试在类方法上使用 @jit 时,我都会收到 IndentationError: Unexpected indent

    我已经尝试了好几天了 jit致力于加快我的代码速度 最后我遇到了这个 描述了添加 jit对象方法 http williamjshipman wordpress com 2013 12 24 learning python eight way
  • 将数组元素向左旋转(将第一个元素移动到最后一个并重新索引)

    在 PHP 中是否可以轻松 旋转 数组 像这样 1 2 3 4 gt 2 3 4 1 是否有某种内置的 PHP 函数可以实现这一点 numbers array 1 2 3 4 array push numbers array shift n
  • Scrapy抓取所有站点地图链接

    我想抓取固定站点的 sitemap xml 中存在的所有链接 我遇到过 Scrapy 的网站地图蜘蛛 到目前为止 我已经提取了站点地图中的所有网址 现在我想爬行站点地图的每个链接 任何帮助都会非常有用 到目前为止的代码是 class MyS
  • 在没有管理员权限的情况下访问regedit [关闭]

    Closed 这个问题是无关 目前不接受答案 我想知道我是否可以在没有管理员权限的情况下运行程序 我正在尝试从 System32 运行程序 regedit 我也尝试过将其复制到 USB 上并从那里运行它 但两者都不起作用 有人可以帮我使用
  • 无法将主机名“postgres”翻译为地址:名称或服务未知

    我正在尝试运行一个依赖于 postgresql 数据库的服务 但我不知道如何将两者链接在一起 连接 我 依赖 数据库 这似乎意味着我应该能够使用服务名称作为数据库主机名 即due database 但每当我这样做时 我都会收到错误 coul