前提・実現したいこと
現在、dockerで作成したrailsアプリをawsでデプロイしようと試みております。
RDSを作成し、それに合わせてdatebase.ymlを編集しようとしていた段階で、公開する様な情報ではないのでcredentials.ymlを活用しようとしております。
この際にcredentials.ymlの編集ができない、という問題を解決したいです!
発生している問題・エラーメッセージ
当該フォルダ上で
docker-compose run -e EDITOR=vim web bin/rails credentials:edit
上記のコマンドでcredentials.ymlが編集できると思うのですが、以下のエラー文が発生します。
Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"bin/rails\": stat bin/rails: no such file or directory": unknown
あれ?と思い、コンテナに入り、以下のコマンドを実行しました。
EDITOR=vim bin/rails credentials:edit
すると以下のエラー文が出力されました。
bash: bin/rails: No such file or directory
ここらへんでようやく、「bin/rails」がみつからないのか!?と気付いたのですが、ここからの解決策が見つかりません、、、
どなたかご教授いただけると幸いです、、、m(__)m
該当のソースコード
dockerfile↓
FROM ruby:2.5 RUN apt-get update -qq && \ apt-get install -y nodejs \ postgresql-client\ vim RUN mkdir /myapp WORKDIR /myapp COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock RUN bundle install COPY . /myapp COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] RUN mkdir -p tmp/sockets
docker-compose.yml↓
version: '3' services: app: build: . env_file: - ./environments/db.env command: bash -c "rm -f tmp/pids/server.pid && bundle exec puma -C config/puma.rb" volumes: - .:/myapp - public-data:/myapp/public - tmp-data:/myapp/tmp - log-data:/myapp/log depends_on: - db db: image: postgres env_file: - ./environments/db.env volumes: - ./tmp/db:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: password web: build: nginx volumes: - public-data:/myapp/public - tmp-data:/myapp/tmp ports: - "80:80" depends_on: - app tty: true stdin_open: true volumes: public-data: tmp-data: log-data: db-data:
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。