前提・実現したいこと
今、以下の記事を参考にしながらRailsで作ったアプリにDockerを導入しようとしています。
【Docker】作成中Railsプロジェクトで開発環境構築
そこでdocker-compose up
のコマンドをターミナルに打ったところ、エラーが起こりました。
解決法がわかる方教えていただけると助かります。
発生している問題・エラーメッセージ
ConnectionRefusedError: [Errno 61] Connection refused
該当のソースコード
▼Dockerfile
ruby
1FROM ruby:2.6.5 2 3RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/* 4RUN apt-get update && apt-get install -y mariadb-client --no-install-recommends && rm -rf /var/lib/apt/lists/* 5RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs 6 7RUN mkdir /workdir 8WORKDIR /workdir 9 10ADD Gemfile /workdir/Gemfile 11ADD Gemfile.lock /workdir/Gemfile.lock 12 13ENV BUNDLER_VERSION 2.0.2 14RUN gem install bundler 15RUN bundle install 16 17ADD . /workdir
▼docker-compose.yml
ruby
1version: '3' 2services: 3 db: 4 image: mysql:5.7 5 environment: 6 MYSQL_DATABASE: docker_development 7 MYSQL_ROOT_PASSWORD: password 8 MYSQL_USER: root 9 MYSQL_PASSWORD: password 10 volumes: 11 - ./mysql/mysql_data:/var/lib/mysql 12 ports: 13 - "4306:3306" 14 web: 15 build: 16 context: . 17 dockerfile: Dockerfile 18 command: /bin/sh -c "rm -f /workdir/tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" 19 tty: true 20 stdin_open: true 21 depends_on: 22 - db 23 ports: 24 - "3000:3000" 25 volumes: 26 - .:/workdir
▼database.yml
ruby
1default: &default 2 adapter: mysql2 3 encoding: utf8 4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 5 username: root 6 password: 7 socket: /tmp/mysql.sock 8 9development: 10 <<: *default 11 database: project_development 12 username: root 13 password: password 14 host: db 15 16test: 17 <<: *default 18 database: project_test 19 20production: 21 <<: *default 22 database: project_production 23 username: root 24 password: <%= ENV['DATABASE_PASSWORD'] %> 25 socket: /var/lib/mysql/mysql.sock
試したこと
database.ymlのdevelopmentの中にあるhost: db
をhost: localhost
にしてみましたが解決できませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/07 05:53