アイキャッチの画像

エラー「exec ./run.sh: no such file or directory」の原因

公開日:

更新日:

ECS(Fargate)にDockerコンテナをデプロイしてもエラーに!!

先日Amazon Elastic Container ServiceでDockerコンテナをデプロイしたところエラーになってしまいました。

具体的にはサーキットブレーカーのしきい値を超えたため、サービスデプロイがロールバックされました。とコンソール上に表示されました。

そのためまずはロールバックされてしまう原因をログから探すことにしました。

エラーの原因

調べると下記のエラー文が見つかりました。

exec ./run.sh: no such file or directory

どうやらDockerコンテナを実行するrun.shファイルが正しく読み込まれていないようです。

確認したところrun.shファイル自体は正しい場所に配置されているので問題は中身にありそうです。

改行コード「CR+LF」が悪さをしていた

run.shファイルが正しく読み込まなかったのはファイル内の改行コードが「CR+LF」だったためでした。

ファイル内の改行コードを「CR+LF」→「LF」に変更したところ、エラーが解消され正しく動作できました

AWSコンソールの画像

↑改行コード「LF」に変更したあとのDockerFileはこんな形になります

※参考記事: 【サクラエディタ】改行コードを確認する方法・改行コードを置換する方法

本記事は以上になります。

ご一読頂きありがとうございました。