前提・実現したいこと
タイトルのとおりです。
AWSでデプロイをしたくこちらの記事を参考にデプロイを試みているのですが、EC2インスタンス内でrails db:create RAILS_ENV=productionをしますが、下記のとおりエラーが出ます
発生している問題・エラーメッセージ
Unknown MySQL server host 'mysql' (2) Couldn't create 'gomisutenavi_production' database. Please check your configuration. rails aborted! Mysql2::Error::ConnectionError: Unknown MySQL server host 'mysql' (2) bin/rails:4:in `<main>' Tasks: TOP => db:create (See full trace by running task with --trace)
該当のソースコード
database.yml default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: <%= ENV.fetch("DATABASE_PASSWORD") %> host: mysql port: 3306 development: <<: *default database: gomisutenavi_development test: <<: *default database: gomisutenavi_test production: <<: *default database: gomisutenavi_production username: root password: <%= ENV['DATABASE_PASSWORD'] %> socket: /var/lib/mysql/mysql.sock
docker-compose.yml version: '3' volumes: data: services: gomisutenavi: build: . ports: - '3000:3000' volumes: - '.:/gomisutenavi' tty: true stdin_open: true command: bundle exec rails server -b 0.0.0.0 environment: - 'DATABASE_PASSWORD=password' depends_on: - mysql links: - mysql mysql: platform: linux/x86_64 image: mysql:5.7 ports: - '3306:3306' volumes: - 'data:/var/lib/mysql' environment: MYSQL_ROOT_PASSWORD: password
Dockerfile FROM ruby:2.5.8 RUN apt-get update && apt-get install -y \ build-essential \ libpq-dev \ nodejs \ default-mysql-client \ yarn WORKDIR /gomisutenavi COPY Gemfile Gemfile.lock /gomisutenavi/ RUN bundle install
試したこと
解決するために参考にした記事
開発環境(Docker-compose)では問題ないが、本番環境でMysql2::Error::ConnectionError: Unknown MySQL server host 'db' (2)がでてデプロイ(Capistrano)できない
Unknown MySQL server host 'db' (25)-teratail
補足情報(FW/ツールのバージョンなど)
ruby 2.5.8
rails 5.2.6
mysql 5.7
回答1件
あなたの回答
tips
プレビュー