【解決】ポートフォワードしたけど、しばらくしたら動かなくなった。
【解決】ポートフォワードしたけど、しばらくしたら動かなくなった。
今回は Windows10 で Docker環境を構築していました。
使ったのは Docker Toolbox です。
Docker Toolbox
Docker Toolbox では、 Kitematic、Git、VirtualBoxなど、必要なものをまとめてインストールすることができます。
Docker Kitematic を使い、目的の環境は順調に準備できました。
環境をほかのPCでも使うため、Oracle VM VirtualBox で NAT + ポートフォワーディング の設定をしました。
最初は順調に動いていました。
でしが、1時間ほどして、急に動かなくなりました...↷( ó╻ò)
ゲストPCに直接アクセスすると、動いていることから、
ポートフォワーディングに問題があると推測しました。
実際、コマンドプロンプトから、 netstat をたたくと、
TCPの状態が CLOSE_WAIT になっていて、ポートフォワーディングが動いていないことがわかりました。
とりあえず、現実逃避をして、1日置いてみましたが、復旧せず…。
仮想マシンの状態を保存して再起動すると、また動きますが、やはり、1時間ほどでポートフォワーディングが動かなくなります。
半日ほど調べてみましたが、VirtualBoxでの解決には至りませんでした。
ここで、VirtualBoxでの解決を諦めました。
とりあえず Windows でポートフォワードをすることにしました。
netshを使い、ホストOSの ポート80 へのアクセスを ゲストOS(192.168.99.100)のポート8080 にポートフォワードします。
netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.99.100 connectport=8080
こちらは安定して動きました ٩(ˊᗜˋ*)و
netshについて、補足です。
netsh で設定した内容は、次のコマンドで確認できます。
netsh interface portproxy show v4tov4
また、設定を削除するときは、次のコマンドです。
netsh interface portproxy delete v4tov4 listenport=XXX
今回は直面した問題を回避しての解決となりました。
原因については気になりますが、まずは動かせたので、ゆっくり考えたいと思います。
ありがとうございました。