> docker exec -it sample-laravel /mnt/.docker/laravel/firstexec.sh
OCI runtime exec failed: exec failed: unable to start container process: exec /mnt/.docker/laravel/firstexec.sh: no such file or directory: unknown
わたしたちの作っているLaravel環境で、最初にシェルとかを実行しておく必要があるとき、このようなエラーがでることがあります。これは、 「firstexec.sh
なんか実行できないんだからね!」というメッセージです。
今回の場合、改行コード(LFがCRLFになっていた)が原因でした。
参考記事
https://qiita.com/uggds/items/00a1974ec4f115616580
Git for Windows では、暗黙の?改行変換が発生するようです。
VSCodeを利用していると、画面の右下に、現在の文字コードと改行コードが表示されますので、確認してみてください。
もしシェルスクリプトのファイルを開いて保存してしまうと、改行コードが変わってしまいます。
しかし、Gitは改行コードの変更については、履歴を残しません。改行コードだけが変換されたことは、差分にならないため、stage しても気づかないことがあるようです。気をつけないといけませんね。
VSCodeのほうも、改行コードLF、文字コードUTF-8にしておくことをおすすめします!
参考記事
https://atmarkit.itmedia.co.jp/ait/articles/1809/14/news025.html