gpt4 book ai didi

ruby-on-rails - Docker:Docker-compose ruby​​ + postgres - PG::ConnectionBadcould not connect to server

转载 作者:太空宇宙 更新时间:2023-11-03 17:44:00 25 4
gpt4 key购买 nike

我从 official docker-compose website 创建了 Dockerfile 到 ruby .我使用 docker compose 将其与 Postgres 集成。当 docker-compose up 时,PostgreSQL 启动但我无法连接到它。主要问题出在 ruby​​ 数据库配置中,因为我无法更改为监听另一台主机并设置默认用户。我不知道如何在不更改 ruby​​ 数据库配置的情况下连接这两个容器。

docker 文件

FROM ruby:2.3.4
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
ADD . /myapp

Docker-compose

version: '3'
services:
db:
image: postgres:9.6
ports:
- "5432:5432"
web:
build: .
ports:
- "4000:4000"
depends_on:
- db

Ruby 数据库.yml

default: &default
adapter: postgresql
encoding: unicode
pool: 5

development:
<<: *default
database: project_development

如果我在 web conatiner 中运行“bundle exec rake db:create 我得到错误:

psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

我不知道什么环境集会连接在一起。

最佳答案

您没有在 database.yml 中指定数据库主机。将它设置为 db 或者试试这个 database.yml

development: &default
adapter: postgresql
encoding: unicode
database: project_development
pool: 5
username: postgres
password:
host: db

test:
<<: *default
database: project_test

关于ruby-on-rails - Docker:Docker-compose ruby​​ + postgres - PG::ConnectionBadcould not connect to server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com