fe_sendauth:创建数据库时未提供密码

时间:2018-06-27 14:16:54

标签: docker

我正在对Ruby on Rails应用程序进行docker化。其中之一是在我运行docker-compose run web bundle exec rake db:create

时引发以下错误
Starting sapi_db_1 ... done
[WARNING] The git gem requires git 1.6.0.0 or later, but only found 
2.1.4. You should probably upgrade.
fe_sendauth: no password supplied

我确认配置文件可以正常工作,因为我之前在其他应用程序中使用过3次。

这是我的dockerfile

FROM ruby:2.2.3
RUN apt-get update && apt-get -y install build-essential libpq-dev nodejs
RUN gem install bundler
RUN mkdir /app
WORKDIR /app
ADD Gemfile /app/Gemfile
ADD Gemfile.lock /app/Gemfile.lock
RUN bundle install

ADD . /app

我的docker-compose.yml

version: '3'
services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/sapi
    ports:
      - "3000:3000"
    environment:
       DATABASE_URL: postgres://postgres@db
    env_file:
      - '.env'
    depends_on:
      - db
  db:
    image: postgres:latest
    ports:
      - "5432:5432"
    env_file:
      - '.env'

我的database.yml文件

 default: &default
  adapter: postgresql
  pool: 5
  timeout: 5000
  url: <%= ENV['DATABASE_URL'] %>
  username: <%= ENV['POSTGRES_USER'] %>
  password: <%= ENV['POSTGRES_PASSWORD'] %>

development:
 <<: *default
     database: app_development

我该如何解决?我已经确认配置文件可以通过在其他应用上执行该过程来工作。

1 个答案:

答案 0 :(得分:1)

通过更改.env文件解决