前提・実現したいこと
Dockerを用いてruby on railsの開発環境を整えたく、Youtube動画を参考に作業を行っておりましたが、
Terminal
1docker-compose up
コマンドを行った際にerrorが発生し、
処理が止まってしまいましたので悩んでおりますのでご質問をさせていただきます。
下記がエラー文と行った手順です
発生している問題・エラーメッセージ
Terminal
1 2db_1 | 2021-02-09 07:26:15+00:00 [Note] [Entrypoint]: Initializing database files 3db_1 | 2021-02-09T07:26:15.994909Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 4db_1 | 2021-02-09T07:26:15.998176Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting. 5db_1 | 2021-02-09T07:26:15.998264Z 0 [ERROR] Aborting 6db_1 | 7gymsco_db_1 exited with code 1 8web_1 | => Booting Puma 9web_1 | => Rails 5.2.4.4 application starting in development 10web_1 | => Run `rails server -h` for more startup options 11web_1 | Puma starting in single mode... 12web_1 | * Version 3.12.6 (ruby 2.5.8-p224), codename: Llamas in Pajamas 13web_1 | * Min threads: 5, max threads: 5 14web_1 | * Environment: development 15web_1 | * Listening on tcp://0.0.0.0:3000 16web_1 | Use Ctrl-C to stop
エラーコードが出る前には以下の手順で作業を行った
Terminal
1#①docker-compose.ymlの作成 2 3version: '3' 4 5services: 6 db: 7 image: mysql:5.7 8 environment: 9 MYSQL_USER: root 10 MYSQL_ROOT_PASSWORD: password 11 ports: 12 - "3306:3306" 13 volumes: 14 - ./db/mysql/volumes:/var/lib/mysql 15 16 web: 17 build: . 18 command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" 19 volumes: 20 - .:/myapp 21 - gem_data:/usr/local/bundle 22 ports: 23 - 3000:3000 24 depends_on: 25 - db 26 tty: true 27 stdin_open: true 28volumes: 29 gem_data:
Terminal
1#②Dockerfileの作成 2 3FROM ruby:2.5 4RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs 5 6RUN mkdir /myapp 7WORKDIR /myapp 8 9COPY Gemfile /myapp/Gemfile 10COPY Gemfile.lock /myapp/Gemfile.lock 11 12RUN bundle install 13COPY . /myapp
Terminal
1#③gem file 2source 'https://rubygems.org' 3git_source(:github) { |repo| "https://github.com/#{repo}.git" } 4 5ruby '2.5.8'
Terminal
1#④Gemfile.lock 2中身なし
上記4つのファイルを作成後、下記のコマンドを行いました。
Terminal
1docker-compose run web rails new . -- force --database=mysql --skip bundle
Terminal
1docker-compose build
Terminal
1docker-compose up
すると、最初に記載したエラーが発生し、
Use Ctrl-C to stop
と表示され処理が止まってしまいます。
エラー発生後に試したこと
作成したコンテナ・イメージの削除後、
・docker-compose run web rails new . -- force --database=mysql --skip bundle
・docker-compose build
・docker-compose up
を再実行 ⇨ 原因解消されず。
docker-compose up
を成功させるためにはどうすれば良いでしょうか。ご教授をお願いします。
★初質問のため、質問の仕方が悪かったら申し訳ございません。 よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/09 13:01
退会済みユーザー
2021/02/09 13:07
2021/02/09 14:16
退会済みユーザー
2021/02/09 14:54
2021/02/09 15:33
退会済みユーザー
2021/02/09 15:54
2021/02/09 17:15
退会済みユーザー
2021/02/10 02:34 編集
2021/02/10 08:18 編集
退会済みユーザー
2021/02/10 08:49
2021/02/10 08:50
退会済みユーザー
2021/02/10 08:55