LoginSignup
0

More than 5 years have passed since last update.

Docker Toolbox + Windows7 + VirtualBox でネットワーク障害が発生する場合の暫定対応策

Posted at

主旨

Windows7 + Docker Toolbox + VirtualBoxで環境構築した際に、
ネットワーク障害が発生したら、VirtualBox上のDockerサーバの/etc/resolve.confのIPアドレスをGoogle の公開DNSサーバである8.8.8.8やIPアドレス指定時に利用される10.0.2.2に変更すれば、解決するかもしれない。

上記の暫定策を行った経緯:

Windows7上に、開発環境をDocker Toolbox で構築している。
そして、利用しているうちに外部のネットワークが使えなくなる問題が発生した。github に接続できず困ってしまうことがあった。また、cucumberの@javascriptのテストで、phantomjsエラーが発生し、立ち上がっているサーバにアクセスできない問題も発生した。
この現象は、container内だけでなくDockerサーバのコンソール上でも同様だった。
どうすることもできなくなるため、Dockerサーバを再起動してcontainerを立ち上げなおして対応していた。

しかし、あるとき、Docker container(Ubuntu)上に立ち上げたRailsは、Windows7(ホストOS)上で立ち上げたブラウザからIPアドレス指定でアクセスできることに気づいた。すなわち、ネットワークそのものが使えなくなったわけではないことに気づいた。
(IPアドレス指定の場合、resolved.confで指定されていた10.0.2.3ではなく10.0.2.2が利用されていた)

ネットワーク障害の問題は、名前で引けなくなっているだけだった。

そこで、Googleで、「Docker Windows7 DNS 10.0.2.3 resolved.conf」 として検索したところ参照したページでたまたま、名前解決できない問題で上記の様にresolved.confを変更している記載があり、
参考に自分環境に適用してみたところうまくいった。

なぜ、DNSサーバが10.0.2.3が使っているうちに接続できなくなるのかは調査中。

参考サイト:
http://danielhnyk.cz/docker-machine-with-virtualbox-server-misbehaving/
https://developers.google.com/speed/public-dns/docs/using

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0