Dockerコンテナ内でng serveしたテスト環境にコンテナの外からアクセスできない

Dockerコンテナ内でng serveしたテスト環境にコンテナの外からアクセスできない

Dockerコンテナ内のangular-cling serveした時にコンテナの外からアクセスできな問題が発生しました。

エラー内容

  • angular-cliをインストールしたコンテナを-p 4200:4200オプションをつけて実行。
  • ng serveを実行。
  • コンテナ外からlocalhost:4200へアクセスした時エラーが発生する。

Safariでアクセスしたところ、以下のエラーメッセージが表示されました。

ページを開けません / ページ”localhost:400”を開けません。サーバとの接続が予期せず解除されました。これはサーバでの処理が混み合っている起きることがあります。数分後にやり直してください。

解決方法

ng serve--host 0.0.0.0オプションを与えることで解決しました。

$ ng serve --host 0.0.0.0

--hostは接続を待ち受けるホストを指定するオプションです。デフォルト値はlocalhostになっています。すべてのホストを表す0.0.0.0を指定することでコンテナの外からのアクセスを受け付けることができます。

そういえば、Ruby on Railsのrails sコマンドでも同じような問題があったなということを思い出しました。

参考URL

以下のページを参考にしました。