個人でrailsアプリを運営するにあたり、dockerを導入しております。
windows10のマシンを2台(デスクトップ&ノートPC)使用しておりますが、デスクトップ(64bit)は問題なく使用できるものの、ノートPC(64bit)のマシンではdockerが以下のエラーによって起動しません。
ノートPCで以下のエラーを解決し、デスクトップと同様にdockerを使用できるようにしたいです。
Docker standard_init_linux.go:228: exec user process caused: no such file or directory
ネット上でも探しまわっているのですが、解決の糸口が見えずに大変困っております。
他サイトで同じ質問もありましたが、そもそも回答がこちらにあてはまるか、あてはまったとして、具体的にどう変えればよいかもわかりませんでした。
どうぞ、どなたかヒントになりそうなことだけでもアドバイスを頂けると大変嬉しいです。
###Dockerfile
FROM node:14.16-alpine as node FROM ruby:2.7.1-alpine COPY --from=node /usr/local/bin/node /usr/local/bin/node RUN apk update \ && apk add --no-cache build-base make g++ sqlite-dev postgresql postgresql-dev imagemagick6 imagemagick6-dev imagemagick6-c++ \ && gem install nokogiri \ && mkdir /app WORKDIR /app COPY ./Gemfile /app/Gemfile COPY ./Gemfile.lock /app/Gemfile.lock RUN bundle install COPY ./ /app COPY ./docker/web/entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 8000 CMD ["rails", "server", "-b", "0.0.0.0"]
###Docker-compose.yml
version: "3" services: # -------------------------------------------------------------------------------- # Web Server # -------------------------------------------------------------------------------- web: &web build: context: . dockerfile: docker/web/Dockerfile command: sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 80 -b '0.0.0.0' -e development" ports: - 80:80 volumes: - bundle_install:/usr/local/bundle - "./:/app" # 1. exclude volumes - /app/.git - /app/.github - /app/.idea - /app/log - /app/tmp - /app/vendor stdin_open: true tty: true environment: TZ: Asia/Tokyo # -------------------------------------------------------------------------------- # Redis # -------------------------------------------------------------------------------- redis: image: "redis:latest" ports: - "6379:6379" volumes: - "./data/redis:/data" volumes: mysql-data: driver: local bundle_install:
###entrypoint.sh
#!/bin/sh set -e # Remove a potentially pre-existing server.pid for Rails. rm -f /app/tmp/pids/server.pid # Then exec the container's main process (what's set as CMD in the Dockerfile). exec "$@"
###現在ノートPC上できていること
・dockerのインストール完了
・imagesに当該アプリのフォルダの指定済み
・redisのサーバーは起動できている。web_1は上記エラー
(web_1 | standard_init_linux.go:228: exec user process caused: no such file or directory
※コンテナとホストの間ではプロジェクトのファイルが同期されており、ホスト側でソースコードを変更するとすぐにコンテナにも変更が反映される環境です。
###現在までにトライしていること
・Linuxのコマンドが効かない?のではと思い、scoopと、sudoコマンドができるよう、powershellの管理者権限でインストールをしました。
どうぞ、先輩方のお力をお貸し頂けますと嬉しいです。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/29 01:50
2021/09/29 05:31
2021/09/29 07:19