https://matsuand.github.io/docs.docker.jp.onthefly/compose/rails/
公式のチュートリアル通りにやったのですがどうにもどうにも起動できません。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
ActiveRecord::ConnectionNotEstablished
No connection pool with 'primary' found.
Extracted source (around line #1032):
def retrieve_connection(spec_name) #:nodoc: pool = retrieve_connection_pool(spec_name) raise ConnectionNotEstablished, "No connection pool with '#{spec_name}' found." unless pool pool.connection end
該当のソースコード
Dokerfile
1 2FROM ruby:2.5 3RUN apt-get update -qq && apt-get install -y nodejs postgresql-client 4RUN mkdir /myapp 5WORKDIR /myapp 6COPY Gemfile /myapp/Gemfile 7COPY Gemfile.lock /myapp/Gemfile.lock 8RUN bundle install 9COPY . /myapp 10 11# Add a script to be executed every time the container starts. 12COPY entrypoint.sh /usr/bin/ 13RUN chmod +x /usr/bin/entrypoint.sh 14ENTRYPOINT ["entrypoint.sh"] 15EXPOSE 3000 16 17# Start the main process. 18CMD ["rails", "server", "-b", "0.0.0.0"] 19 20 21 22```docker-compose.yml 23ソースコード 24
version: '3'
services:
db:
image: postgres
volumes:
- ./tmp/db:/var/lib/postgresql/data
environment: POSTGRES_PASSWORD: password
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
database.yml
1ソースコード
default: &default
adapter: postgresql
encoding: unicode
host: db
username: postgres
password:
pool: 5
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
production:
<<: *default
database: myapp_production
username: myapp
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
環境は
ubuntu18.04
Docker version 19.03.8
docker-compose version 1.24.1
ですよろしくお願いします
あなたの回答
tips
プレビュー