質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

6193閲覧

noDocker standard_init_linux.go:228: exec user process caused: no such file or directoryを解決したいです。

akikko

総合スコア32

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/09/27 05:20

編集2021/09/29 09:40

個人で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の管理者権限でインストールをしました。

どうぞ、先輩方のお力をお貸し頂けますと嬉しいです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

2つ見つかりました。

1つ目 CrLfをLfに変更する

LinuxとWindowsの改行コードの違いで発生するというもの。
Dockerfile, docker-compose.yaml や使用している.shファイルの中の改行コードをCrLfからLfに変更するというもの。
nfkを使用すると、以下コマンドで変更できるようです。

bash

1nkf -Lu foo.txt | nkf --guess 2UTF-8 (LF)

[Linux] 改行コードを変換する

2つ目 alpineのシェル名が違う

imageにalpineを使っていると発生する問題との事で、Dockerfile, docker-compose.yaml や使用している.shファイルの中の 'bash'を'ash'や'sh'に変更すると直るとの事。
こちらは64ビットの方で動いているとの事なので、可能性が低いと考えています。

Dockerでalpineイメージ使用時に発生したstandard_init_linux.go:211: exec user process caused "no such file or directory" を解決

お役に立ちますでしょうか。

投稿2021/09/27 10:35

tyamzak_

総合スコア95

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akikko

2021/09/29 01:50

初めまして!大変ご丁寧に教えて頂きありがとうございます。別作業でバタついてしまいご返事が遅くなってしまい申し訳ございません。 只今、諸々教えて頂きまして本当にありがとうございます。 頂きました内容を検証させて頂いたのですが、 Dockerfile、_entrypoint.sh、docker-compose.ymlの3ファイルがありまして、3ファイルともcrfが含まれておらず、LFのみで構成されておりました???? 2つ目の方は、'bash'が3ファイルの中になかったため、おっしゃる通り問題ではないのかもしれません。 うーん・・・大変お手数おかけして教えて下さったのに申し訳ございません。 他にももしアイデアがあられましたら是非教えて頂きたいです。。
tyamzak_

2021/09/29 05:31

そうですね。 アイディアレベルで良いのでしたら、32bit Windowsの仮想環境で64bitのimageを動かすと、トラブルが起きやすいような記事がいくつか見つかりました。 Dorkcerfileで使われているイメージは、以下のようでした。 node:14.16-alpineのos/arch がlinux/amd64 ruby:2.7.1-alpineのos/arch がlinux/i386 nodeの方を32ビットのイメージを使うようにしたら動くとか、ないでしょうか。
akikko

2021/09/29 07:19

なるほど・・・ありがとうございます!! ちょっと環境を調べてみますね。bit数の違いによるものか・・・その辺の観点で調べてみます。 ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問