私はpadrinoでかなり新しいので、しばらく苦労しており、本当に私をブロックしています。Errno :: ENOENTの取得:ドッカーでデータベースを作成するときにpadrino APIにcreatedbというファイルがありません
私がしようとしていることは、私のフロントエンドの同僚に利用できるようにするために私のpadrinoプロジェクトをドローすることです。彼らはマシンをセットアップするのに多くの時間を費やす必要はありません。
私は次の例外を発生させdocker-compose run web bundle exec rake sq:create
タスクを実行しようとすると、問題が来る:だけでも、私の中でdockerized Postgresの画像に対応DATABASE_URL=postgres://pg_pass:[email protected]:2345/my_database_dev
を使用して、私のドッキングウィンドウのマシン上で発生したことを除い
=> Creating database 'my_database_dev'
rake aborted!
Errno::ENOENT: No such file or directory - createdb
/usr/local/bundle/gems/padrino-gen-0.13.2/lib/padrino-gen/padrino-tasks/sql-helpers.rb:18:in `spawn'
/usr/local/bundle/gems/padrino-gen-0.13.2/lib/padrino-gen/padrino-tasks/sql-helpers.rb:18:in `create_db'
/usr/local/bundle/gems/padrino-gen-0.13.2/lib/padrino-gen/padrino-tasks/sequel.rb:52:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:
をローカルの.envファイルはすべて期待どおりに動作しますので、Dockerfileに何かがないという問題があると思います。私Dockerfileはこのようになります
:
FROM ruby:2.2.5
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /app
WORKDIR /app
ADD Gemfile /app/Gemfile
ADD Gemfile.lock /app/Gemfile.lock
RUN bundle install
ADD . /app
と私のドッキングウィンドウ・コンファイル
version: '2'
services:
db:
image: postgres:latest
ports:
- "2345:5432"
environment:
- POSTGRES_PASSWORD=pg_pass
- POSTGRES_USER=pg_user
web:
build: .
command: bundle exec padrino s -p 3000 -h '0.0.0.0'
ports:
- "3000:3000"
volumes:
- .:/app
depends_on:
- db
links:
- db:db
environment:
- DATABASE_URL=postgres://pg_pass:[email protected]:2345/my_database_dev
事前にありがとうございます!