Docker 中的 PostgreSQL - pg_hba.conf 允许从主机访问容器

2024-03-19

我想在 Docker 容器内运行 PostgreSQL。我正在构建自己的 Docker 镜像,因为我想包含 PostgreSQL 扩展。我应该编辑pg_hba.conf配置文件到:

  1. 允许来自其他容器的访问
  2. 允许来自主机的访问

第一个非常简单:我可以添加一条规则172.17.0.0/16如果我没有记错的话。

但我怎样才能接近第二个呢?当主机连接到容器中的 psql 时,IP(或范围)是什么样的?

备注:我通过以下方式启动容器docker run -p 127.0.0.1:5432:5432,所以理论上我可以允许all in pg_hba.conf因为端口转发只绑定到127.0.0.1。但我更喜欢这种额外的安全级别pg_hba.conf对于我(可能是错误的)通过以下方式运行容器时的情况docker run -p 5432:5432。我希望这是有道理的。

update

实际上,设置范围172.17.0.0/16似乎不正确。例如,我的容器有IP172.18.0.2在我的测试中。根据我迄今为止的调查,对于默认范围或如何配置该范围似乎没有达成共识。


检查您的 docker0 桥接口,在您的情况下它可能是 172.18.0.0/16

在 postgresql.conf 路径中进行更改将与 pg_hba.conf 相同。

监听“*”的地址

然后在 pg_hba.conf 添加规则为

托管所有 172.18.0.0/16 md5。

使用主机 ip 运行 docker : docker run -p :5432:5432 这样,同一 docker n/w 上的其他容器可以从主机连接,但不能从其他主机连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 中的 PostgreSQL - pg_hba.conf 允许从主机访问容器 的相关文章

  • 本地 Postgres 实例和 Azure Cloud Postgres 实例之间的实时同步

    我需要在本地 postgresql 实例与云 postgresql 实例之间设置实时同步过程 请让我知道我可以通过哪些选项来实现它 我是否必须使用任何特定工具或者可以通过复制进行管理 请指教 使用 PgPool http www pgpoo
  • 无法访问本地 Docker 容器上的 Asp.Net Core

    我在 asp net core 中创建了一个应用程序 并创建了一个 dockerfile 来生成本地映像并运行它 FROM microsoft dotnet latest COPY app WORKDIR app RUN dotnet re
  • 错误关系不存在

    我得到了 error relation causes does not exist 我的节点应用程序出现错误 这种关系确实存在 我不确定问题出在哪里 我创建了该表 CREATE TABLE causes cause id bigint NO
  • 将主机中的空文件夹挂载到 Docker 中的非空文件夹

    我正在使用的工具是在 Docker 映像中提供的 由于安装该工具非常复杂 存在大量依赖项 因此我想使用 IDE 在主机上工作 但在容器上运行它 因此 下载并加载图像后 我运行 sudo docker run it v home myself
  • 使用 Docker 在本地主机上的“requests”连接错误

    我正在尝试开发客户端服务器应用程序 但遇到了一些问题 我的两个服务都是在单独的 docker 容器中本地开发的 客户端使用 api 从 api 获取数据requestspython 库 它可以在生产中使用 但在本地 我无法使用 reques
  • MySQL集群启动失败

    这不是我第一次创建ndbcluster 但我没有收到这样的问题 我正在关注本手册 https hub docker com r mysql mysql cluster by mysql团队 我正在使用回显的默认配置在此 GitHub 存储库
  • 为 PostgreSQL 查询选择正确的索引

    简化表 CREATE TABLE products product no integer PRIMARY KEY sales integer status varchar 16 category varchar 16 CREATE INDE
  • 适用于elasticsearch 7.0.1 和 kibana 7.0.1 的 docker-compose.yml

    我在 Windows 10 上将 Docker Desktop 与 Linux 容器结合使用 并希望通过 docker compose 文件启动最新版本的 elasticsearch 和 kibana 容器 使用 6 2 4 等旧版本时一切
  • Docker Compose 保持容器运行

    我想使用 docker compose 启动一个服务并保持容器运行 这样我就可以通过 docker检查 获取它的IP地址 然而 容器总是在启动后立即退出 我尝试将 command sleep 60 和其他内容添加到 docker compo
  • Django 模型:默认日期时间未转换为 SQL CURRENT_TIMESTAMP

    我正在使用 Django 模型创建 PostgreSQL DB 我有一个 DateTimeField 我想将当前时间戳设置为默认值 我知道有多个消息来源建议如何做到这一点 但是 当我在 Django 之外检查数据库时 默认时间戳不会显示 我
  • PostgreSQL 错误 42501:架构权限被拒绝

    我正在 ASP NET 中构建一个用户注册系统 使用 PostgreSQL 数据库来维护用户信息 作为注册过程的一部分 用户会收到一条确认消息 他们必须单击其中的链接来验证其电子邮件地址 然后 他们将进入一个可以创建密码的页面 一旦用户提供
  • 将 nvidia 运行时添加到 docker 运行时

    我正在运行虚拟机GCP配备特斯拉 GPU 并尝试部署一个PyTorch基于应用程序使用 GPU 加速 我想让 docker 使用这个 GPU 可以从容器访问它 我设法在主机上安装了所有驱动程序 并且该应用程序在那里运行良好 但是当我尝试在
  • PLpgSQL 函数不返回匹配的标题

    当给定文本时 我试图返回电影名称以及演员和工作人员的数量 当我输入字符串并使用 ilike 时 我的查询返回不匹配的标题 我之前创建了一个视图 其中包含要在函数中输入的电影标题和工作人员数量 我的代码是 create or replace
  • 如何物理删除未标记的 docker 镜像

    当我运行 sudo docker rmi me myimage 等命令时 我得到响应 image untagged 但是 当我重新运行 sudo docker images 时 我可以看到这个 untagged 图像仍然存在 并且 如果我运
  • Django 独特的不工作

    我在从查询中过滤掉重复项时遇到问题 我正在使用 Django 1 4 和 Postgres 8 4 13 我在我的模型对象上使用这个查询 它是一个 jquery 自动完成 term request GET get term field re
  • 如何从容器内运行 podman?

    我想跑podman https podman io作为运行 CI CD 管道的容器 但是 我不断从 podman 容器中收到此错误 podman info ERRO 0000 overlay is not supported over ov
  • 如何关闭 gorm 1.20.0 中的数据库实例

    由于我没有在 Close 函数中找到 gorm 实例 任何帮助将不胜感激 dbURI fmt Sprintf user s password s dbname s port s sslmode s TimeZone s username p
  • 手动将数据库中的数据插入具有 hibernate_sequence @GenerateValue(strategy = GenerationType.TABLE) 的表中

    我有 ID 为 GenerateValue strategy GenerationType TABLE 的表 需要在postgresql生产数据库上手动插入800条记录 我们从oracle迁移到postgresql 很少有用户错误地访问旧链
  • docker容器大小远大于实际大小

    我正在尝试从中构建图像debian latest 构建后 报告的图像虚拟大小来自docker images命令为 1 917 GB 我登录查看尺寸 du sh 大小为 573 MB 我很确定这么大的尺寸通常是不可能的 这里发生了什么 如何获
  • Poetry install --no-dev 需要安装 Rust 吗?

    我正在 Raspberry pi 3b Lite buster 2020 年 2 月 的容器中安装 Poetry 我使用图像arm32v7 python 3 7 slim buster 这里是Dockerfile FROM arm32v7

随机推荐