Dockerで「OCI runtime exec failed: exec failed: container_linux.go:346:」

今回はDockerを使っているときに下記のようなエラーが起きたときの原因と対策についてお話ししていきます。



Dockerで「OCI runtime exec failed: exec failed: container_linux.go:346:」

Dockerを使っていて次のコマンドでコンテナの中に入ろうとしたときに、上記のエラーが起きてしまいました。

結論を言うと、コンテナ内でbashコマンドが使えない状態であることが原因です。

回避策としては次の2通りあります。
・コンテナ内でbashをインストールする
・「bash」コマンドの代わりに「sh」コマンドを使用してコンテナの中に入る

・コンテナ内でbashをインストールする

私が一番おすすめする方法です。
Dockerfileに次の記述を足して、あらかじめコンテナにbashをインストールしておきましょう。

・「bash」コマンドの代わりに「sh」コマンドを使用してコンテナの中に入る

bashコマンドの代わりにshコマンドを使用しましょう。
例として、次のような記述となります。

終わりに

今回はDockerを使っているときに冒頭のようなエラーが起きたときの原因と対策についてお話しいたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

ITパスポート、基本情報技術者、応用情報技術者などIPAが提供する国家資格の過去問を学べるモバイルアプリをリリースしました。
詳しくは下記のプレスリリースをご覧ください。
https://prtimes.jp/main/html/rd/p/000000008.000073303.html

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Docker

Posted by ちこ