開発環境にDockerを導入してRailsの開発を行いたいのですが、
docker-compose upが正常に動作せず、どうすれば動作させることができるかの解決策や、
もしくは、原因究明しかねているので、原因として考えられることだけでも、ご教示いただければと思い、質問させていただきます。
実現したいこと
開発環境にDockerを使用し、Ruby on Railsの開発を行いたい。
そのために、既存のRailsアプリをDockerにて起動し、ブラウザのlocalhostで見れるようにしたい。(既存のRailsアプリはWSLにて動作していました。この度、WSLでなくDockerで開発しようと思い立ちました)
下記のQiita記事を参考に実施しています。
既存のRailsアプリにDockerを導入する手順
丁寧すぎるDocker-composeによるrails5 + MySQL on Dockerの環境構築(Docker for Mac)
使用環境
ツール:Docker Quickstart Terminal
VM(ゲストOS):VirtualBox(Linux2.6/ 3.x/ 4.X(64bit))
ホストOS:Windows10 Home
現在の状態
-
Docker Quickstart Terminalを起動し、Dockerコマンドを打ち、動作することは確認しています。
-
Dockerfileとdocker-compose.ymlは以下のように記述し、「docker-compose build --no-cache」は正常に完了できました。その後、「docker-compose up」を実行したところでエラーが出ています。
(エラーメッセージ)
web:Could not locate Gemfile or .bundle/ directory exited with code 10
- webのみエラーが出ている様子です。2つはそれぞれ分けて解決すべき、と考え、調査中ですが、調べる時間があまりに長時間かかっているため、質問させていただいた次第です。
※ホストOS側のRailsアプリのディレクトリ
C:\mydev\myfavrest-app
↓ディレクトリ構造(1階層目のみ)
drwxr-xr-x 1 ユーザ名 197121 0 4月 30 20:42 app/ drwxr-xr-x 1 ユーザ名 197121 0 5月 24 10:44 bin/ drwxr-xr-x 1 ユーザ名 197121 0 5月 24 10:44 config/ -rw-r--r-- 1 ユーザ名 197121 130 4月 11 18:36 config.ru drwxr-xr-x 1 ユーザ名 197121 0 5月 24 10:44 db/ -rw-r--r-- 1 ユーザ名 197121 416 5月 24 17:37 docker-compose.yml -rw-r--r-- 1 ユーザ名 197121 640 5月 24 16:50 Dockerfile -rw-r--r-- 1 ユーザ名 197121 2728 5月 24 16:54 Gemfile -rw-r--r-- 1 ユーザ名 197121 0 5月 24 10:44 Gemfile.lock drwxr-xr-x 1 ユーザ名 197121 0 4月 11 18:36 lib/ drwxr-xr-x 1 ユーザ名 197121 0 4月 22 23:39 log/ -rw-r--r-- 1 ユーザ名 197121 71 4月 11 18:36 package.json drwxr-xr-x 1 ユーザ名 197121 0 4月 29 21:39 public/ -rw-r--r-- 1 ユーザ名 197121 227 4月 11 18:36 Rakefile -rw-r--r-- 1 ユーザ名 197121 5707 5月 13 23:07 README.md drwxr-xr-x 1 ユーザ名 197121 0 5月 24 10:44 spec/ drwxr-xr-x 1 ユーザ名 197121 0 4月 11 18:36 storage/ drwxr-xr-x 1 ユーザ名 197121 0 4月 29 21:39 tmp/ drwxr-xr-x 1 ユーザ名 197121 0 4月 11 18:36 vendor/
※ターミナル起動時のカレントディレクトリ
/c/Program Files/Docker Toolbox
※docker-compose upを実行時のディレクトリ(カレントディレクトリからRailsアプリのディレクトリへ移動しました)
C:\mydev\myfavrest-app
Dockerfile
Dockerfile
1 2FROM ruby:2.6.5 3# apt-utils関連のエラーを表示させないようにする 4ENV DEBCONF_NOWARNINGS yes 5RUN apt-get update -qq && \ 6 apt-get install -y --no-install-recommends build-essential \ 7 libpq-dev \ 8 nodejs \ 9 && rm -rf /var/lib/apt/lists/* 10 11# 作業ディレクトリの作成、設定 12RUN mkdir /myapp 13WORKDIR /myapp 14 15# ホスト側(ローカル)のGemfileを追加する 16COPY Gemfile /myapp/Gemfile 17COPY Gemfile.lock /myapp/Gemfile.lock 18 19# Gemfileのbundle install 20RUN bundle install 21COPY . /myapp 22
docker-compose.yml
yml
1 2version: '3' 3services: 4 db: 5 image: mysql:5.7 6 environment: 7 MYSQL_ROOT_PASSWORD: password 8 MYSQL_DATABASE: myfavrest-app_development 9 ports: 10 - "3306:3306" 11 web: 12 build: . 13 command: bundle exec rails s -p 3000 -b '0.0.0.0' 14 tty: true 15 stdin_open: true 16 volumes: 17 - .:/myapp 18 ports: 19 - "3000:3000" 20 depends_on: 21 - db 22
###Gemfile
Gemfile
1 2source 'https://rubygems.org' 3git_source(:github) { |repo| "https://github.com/#{repo}.git" } 4 5ruby '2.6.5' 6(以下略) 7
Gemfile.lock
Gemfile.lockは何も書かれていません。(中身は全て削除しました。)
エラー現象の画面キャプチャ(webコンテナのエラー)
並行して調査中ではございますが、お力添えいただきたい次第です。
不足情報等ございましたら追加しますので、お手数をおかけしますが、ご指摘いただけますと幸いです。
どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー