加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – Docker – Rails应用程序无法连接到链接的Postgre

发布时间:2020-12-13 16:05:55 所属栏目:百科 来源:网络整理
导读:我一直在关注如何使用Docker: Setting Up A Rails Development Environment Using Docker设置Rails开发环境的指南. 我一路上遇到了一些障碍,但是我已经成功地完成了大部分工作,直到运行Rails迁移的步骤.运行命令docker-compose run web rake db:migrate会
我一直在关注如何使用Docker: Setting Up A Rails Development Environment Using Docker设置Rails开发环境的指南.

我一路上遇到了一些障碍,但是我已经成功地完成了大部分工作,直到运行Rails迁移的步骤.运行命令docker-compose run web rake db:migrate会产生以下结果:

rake aborted!
PG::ConnectionBad: could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

泊坞窗,compose.yml:

version: '2'
services:
  db:
    image: postgres
    volumes:
      - ./pgdata:/pgdata
    environment:
      POSTGRES_DB: myapp_development
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD:
      PGDATA: /pgdata
  web:
    build: .
    command: bundle exec rails server --port 5000 --binding 0.0.0.0
    volumes_from:
      - container:myapp-web-sync:rw
      - container:myapp-bundle-sync:rw
    volumes:
      - ./keys:/root/.ssh/
    ports:
      - "5000:5000"
    environment:
      REDIS_URL: redis://redis:6379
      GEM_HOME: /bundle
    links:
      - db
      - redis
volumes:
  myapp-web-sync:
    external: true
  myapp-bundle-sync:
    external: true

解决方法

您尝试连接到localhost:5432,换句话说,您尝试连接到Web容器,但您的观点是db.只需在应用程序中指定数据库主机,如db

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读