【问题标题】:How to connect to postgres database with docker container如何使用 docker 容器连接到 postgres 数据库
【发布时间】:2016-08-17 00:20:28
【问题描述】:

我正在尝试使用 pgAdmin 连接到我的 docker 映像中的 postgres 容器。但我似乎无法连接。这是我的 docker-compose.yml:

version: '2'
services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/livingrecipe
    ports:
      - '3000:3000'
    env_file:
      - .env
    links:
      - postgres
      - elasticsearch

  postgres:
    image: postgres

  elasticsearch:
    image: elasticsearch

我四处搜索,似乎 localhost:5432 除非在 VM 内工作,但我找不到 VM IP。查看端口下的 Kitematic 如下所示:

我尝试在 docker-compose.yml 文件中指定端口,但随后我收到一个恼人的错误,指出端口已分配,并且我一生都无法弄清楚这些端口在使用什么,所以不确定发生了什么那里。任何帮助指出我正确的方向,要么让 pgAdmin 工作,要么只是让我通过 gui 访问数据库的另一种方式,比如 pgAdmin

【问题讨论】:

    标签: ruby-on-rails postgresql docker-compose


    【解决方案1】:

    你可以在你的 shell 中做:

    docker ps
    

    这将为您提供计算机上的图像列表。选择 postgres 镜像的容器 id 并输入到 shell:

    docker inspect <container_id>
    

    这将为您提供包含图像信息的哈希值。找到 IPAddress 键。在 pgadmin 中使用您之前指定的 IP 和端口(我猜是 5432)。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 2020-04-10
      • 1970-01-01
      相关资源
      最近更新 更多