###環境
・MAC OS
・Rails5.2.2
・Ruby2.5.3
・MySQL5.7
前提・実現したいこと
dockerでrails+mysqlの環境構築を行っています。
このページを参考に"$ docker-compose run web rails db:create"でDBを作成するところまではできたのですが、ブラウザ(Google Chrome)でアクセスしようとすると「このページは動作していません。」と返ってきます。
###フォルダ構成
hello_App ---- Dockerfile |-- Gemfile |-- Gemfile.lock |-- README.md |-- Rakefile |-- app |-- bin |-- config ---- application.rb | |-- boot.rb | |-- cable.yml | |-- credentials.yml.enc | |-- database.yml | |-- environment.rb | |-- environments | |-- initializers | |-- locales | |-- master.key | |-- puma.rb | |-- routes.rb | |-- spring.rb | |-- storage.yml | |-- config.ru |-- db |-- docker-compose.yml |-- lib |-- log |-- package.json |-- public |-- storage |-- test |-- tmp |-- vendor
###docker-compose.yml
version: '3' services: db: image: mysql:5.7 environment: environment: RAILS_ENV: development DATABASE_URL: mysql2 MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: root ports: - "3306:3306" web: build: . command: rails s -p 3000 -b '0.0.0.0' volumes: - .:/app_name ports: - "3000:3000" links: - 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 EXPOSE 3000
試したこと
・Webサーバーが起動しているか確認
docker exec -it コンテナ名 bash
でコンテナ内に入り
curl http://localhost:3000/
とするとHTMLが返ってくるのでコンテナ内のサーバーは動いているようです。
何か他に考えられる問題点等あればぜひ教えて頂きたいです。よろしくお願いします。
###追記
chromeでlocalhost:3000にアクセスしたところ、このようなエラーが出ました。
回答2件
あなたの回答
tips
プレビュー