docker初学者です。
awsのcloud9上で、dockerを使い、railsとmysqlで環境構築をしました。
最初は問題なく、ブラウザでアクセスしrailsの画面が見れていましたが、作ったdocker imageをECRにプッシュし、別のEC2インスタンスにpullしたのですが、そのインスタンスにアクセスしたところ
Mysql2::Error::ConnectionError Unknown MySQL server host 'db' (-2) Extracted source (around line #90): conn_attrs = parse_connect_attrs(opts[:connect_attrs]) connect user, pass, host, port, database, socket, flags, conn_attrs end def parse_ssl_mode(mode)
とのエラー画面が出ます。
同じdockerイメージのはずなのに、表示される画面が違うのはなぜでしょうか?
また、どのようにすれば、問題なくrailsの画面が表示されるのでしょうか?
皆様のご教示宜しくお願い致します。
###docker-compose.yml
docker
1version: '3' 2services: 3 db: 4 image: mysql:5.7 5 environment: 6 MYSQL_ROOT_PASSWORD: password 7 MYSQL_DATABASE: root 8 ports: 9 - "3306:3306" 10 11 web: 12 build: . 13 # command: rails s -p 3000 -b '0.0.0.0' 14 command: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" 15 16 volumes: 17 - .:/app_name 18 ports: 19 - "3000:3000" 20 links: 21 - db
Dockerfile
FROM ruby:2.5.3 RUN apt-get update -qq && \ apt-get install -y build-essential \ libpq-dev \ nodejs RUN mkdir /app_name ENV APP_ROOT /app_name WORKDIR $APP_ROOT ADD ./Gemfile $APP_ROOT/Gemfile ADD ./Gemfile.lock $APP_ROOT/Gemfile.lock RUN bundle install ADD . $APP_ROOT CMD rails s -p 3000 -b '0.0.0.0'
あなたの回答
tips
プレビュー