Docker 20.10.8 / Ruby 3.0.0 / Rails 6.1.0
Docker初学者です。
composeではなく、rails単体をビルドし、コンテナ起動しようとしてます。
ビルドしイメージは作成できましたので、コンテナを作成しようと以下のコマンドを入力しました。
cmd
1docker run -it test/rails
そうしますと、以下のエラーになりました。
error
1docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "rails": executable file not found in $PATH: unknown.
エラーメッセージで半日ググってますが、これといったヒントに至らずにいます。
分かる方教えてくださると幸いです。
Dockerfile
# Rubyをインストール FROM ruby:3.0.0 # Node.jsをインストール RUN curl -sL RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - && \ apt install nodejs # Yarnをインストール RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt update && apt install yarn # 環境変数を設定 ENV APP_HOME /app # ディレクトリの作成と移動 WORKDIR $APP_HOME # ホストのGemfileなどをコンテナへコピー COPY Gemfile $APP_HOME/Gemfile COPY Gemfile.lock $APP_HOME/Gemfile.lock RUN bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include" # BundlerでGemをインストール RUN bundle install --path=vendor/bundle # Railsアプリを作成(既存のアプリをマウントする場合は不要) RUN rails new . -d mysql --skip-bundle || bundle update # 設定ファイル書き換え(既存のアプリをマウントする場合は不要) COPY config $APP_HOME/config # マウントできるように公開 VOLUME $APP_HOME/public VOLUME $APP_HOME/tmp # コンテナ起動時にRailsサーバを起動 CMD ["rails", "server"]
Gemfile
ruby
1source 'https://rubygems.org' 2gem 'rails', '6.1.0' 3
###試したこと
Dockerfileの最下行である以下の1行をコメントアウトすると通りました。
ですがなぜなのかまだ分かっていません・・・・
CMD ["rails", "server"]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/14 05:47