Home ホストマシンから仮想マシンで起動したWebページへのアクセスができない問題
Post
Cancel

ホストマシンから仮想マシンで起動したWebページへのアクセスができない問題

環境

  • ホストマシン:Windows10
  • 仮想マシン:ubuntu server 22.04
  • 仮想環境:VMware Workstation

背景

今日は研究室の毎週定例であるサーバー勉強会を参加した。我々の研究室は学生がネットワークとHP(ホームページ)を管理しているから、来年我々が先輩から引き継ぐための勉強と練習をしないといけない。

そこで、ネットワーク知識不足のせいで、基礎的なところで詰まった。

ただ、結構ネットワークの初心者がやりがちな問題だから、このブログを作った。

問題原因

結論から言うと、仮想マシンで起動したWebページのポート番号(ここでは3000)が外部に公開されなかったからだ。

検査

ホストマシンからnmapコマンドを使って仮想マシンの開いてるポート番号をスキャンした結果、3000番が公開されなかった。

転機:dockerのimageを起動した際のコマンドを確認する

sudo docker run -dp 127.0.0.1:3000:3000 getting-started

ここで127.0.0.1:を追加することで仮想マシン自分しか3000番号へアクセスことができない。つまり、外部(ホストマシン)に公開しないような設定なのだ。だから、nmapでスキャンしても出てこない。

解決方法:

  1. dockerのimageをstopする:sudo docker stop <>
  2. 127.0.0.1:の部分を外してdocker runする:
    • sudo docker run -dp 3000:3000 getting-started
  3. これでホストマシンから仮想マシンのWebページへのアクセスができるはずだ!
This post is licensed under CC BY 4.0 by the author.