Nuxtが外から見えない
docker compose経由でnuxt.jsの開発環境を起動しようとしたけど、dockerサーバーが外部にあるので起動したNuxtにブラウザからアクセスできないという問題が発生。
調べたら、configファイルをいじるか、起動時に環境変数を渡してあげればよいということが分かった。
環境変数を指定して起動するのはこんな感じ
HOST=0.0.0.0 npm run dev
問題
docer-compose経由でnuxtを起動しようとして、こんな感じのコマンドを実行してみたがうまくいかない。
docker-compose exec app HOST=0.0.0.0 npm run dev
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "HOST=0.0.0.0": executable file not found in $PATH: unknown
Amazon.co.jp
解決方法
いろいろ試した結果、shell経由でコマンドを渡してあげればうまくいくことが分かった。
こんな感じ
docker-compose exec app sh -c "HOST=0.0.0.0 npm run dev"
-c で、後に続くテキストをコマンドとして実行してくれるようです。
今回はshですが、bashとかほかのshellでも同じようなことができると思います。