[docker]対処法:OCI runtime create failed exec: “bash”: executable file not found



  • ※当サイトはアフィリエイト広告を利用しています
[docker]対処法:OCI runtime create failed exec: “bash”: executable file not found

docker_logo

docker にログインできない問題

docker で環境を構築してログインしようとしたときにエラーが出て、偶にコンテナにログインできない事があるので、エラーの対処法を備忘録として残します。

Advertisement

ログインできない原因

エラーの原文

実際の実行履歴

エラーの理由は英語で記載された通り、bash コマンドが $PATH に設定されていない、または bash 自体がコンテナにインストールされていない事が原因です。

 

解決策

対処する方法は主に2つ。

方法1:問答無用で docker にログインするなら「bash」の代わりに「sh」コマンドを使用する。
bash が無ければ別のコマンドを利用してログインすれば良いという考え方。

ただ bash は sh の機能強化版という立ち位置にあるため、コマンドで作業する時に手間がかかる可能性があります。そのため sh でログイン後に bash をインストールして一旦ログアウト。再度 bash でログインし直すという手もあります。

ちなみに sh でログインした後に bash を追加するコマンドは、

apk add bash

です。

 

方法2:Dockerfile に「bash」のインストールを記述してコンテナを作り直す
もう一つは、bash 入りのコンテナを作り直せばよいという考え方。

Dockerfile に

RUN apk add bash

を追記して、コンテナを作り直せばOKです。

 

どちらで対応するかは状況に合わせて使い分けてください。

この記事が気に入ったら
いいね ! をお願いします

Twitter で

インフラカテゴリの最新記事