結論:Docker Desktopのせい。
事象
astro
で静的サイトを作るため、VSCodeの devcontainer
を利用しました。
npx astro dev
で起動するとこんなのが出るので
「ブラウザーで開く」をクリックしても、ブラウザーはグルグルするものの何も表示されない。
開発者ツールで見てみると <html>
などはレスポンスで来ている様子。
コンテナ内からの curl http://localhost:4321/
は正常に返ってくる。
VSCodeのポートタブで以下を削除した状態した状態でブラウザから確認すると、ロードもなく即時404が返ってくる。
別途、手動でポート指定してコンテナを立ち上げると外からも正常にアクセスできる。
この時点で、devcontainer側の問題かなあ、とあたりをつけるも該当する情報もなく困り果てていました。
原因
根本的な原因はわかりませんでしたが、
「mac vscode devcontainer built in port forwarding not working」キーワードでgoogleさんにきいたところ、以下のissueにたどり着きました。
4.30.0 update breaks VScode devcontainer auto port forwarding #7276
対応
close されていないのでとりあえず記載のワークアラウンド通り、Docker Desktop のバージョンを下げることで対応。
手順
Can I roll back to a previous version of Docker Desktop? を参考に
release note から 4.29.0
をダウンロードして、展開後、Applications
に突っ込んで replace
を選択。
無事に繋がるようになりました。