Я заметил странную проблему с настройкой моего докера.Вот пример:
Мои настройки:
- У меня есть железная машина Windows 10, на которой я запускаю различные виртуальные машины для своих проектов
- В одной из виртуальных машин (CentOS 7) у меня установлен докер:
$ docker version
Client:
Version: 18.09.7
API version: 1.39
Go version: go1.10.8
Git commit: 2d0083d
Built: Thu Jun 27 17:56:06 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 2d0083d
Built: Thu Jun 27 17:26:28 2019
OS/Arch: linux/amd64
Experimental: false
- Причина, по которой я не запускаю докер непосредственно внутри своей машины с Windows 10 metal, заключается в том, чтопотому что это фактически заставляет мой VMWare Player больше не работать.Так что я просто запускаю его в CentOS VM.У меня не было никаких проблем с этим до сих пор ..
Моя проблема:
- Когда я запускаю Docker в обычном режиме моста, все работаетштраф:
docker run -p 8080:8080 tomcat
- Когда я запускаю это, я могу получить доступ к tomcat на http://localhost:8080 (на моей CentOS VM) или на http://192.168.x.y:8080 через мойХост Windows 10 (мой настоящий компьютер)
- Однако, когда я запускаю Docker в режиме сетевого хоста, он не работает
docker run --network host tomcat
- Когда я запускаю Docker какэто, я все еще могу получить доступ к tomcat на http://localhost:8080 на моей виртуальной машине, однако на моей машине с Windows 10 я не получаю ответа.
Моя путаница
- Я знаю, что Docker работает внутри моей виртуальной машины
- Я знаю, что он просто отлично настраивает мостовую сеть
- Я знаю, что моя Windows 10 может общаться с моей VMWare CentOS - если это не так, мостовой режим тоже не будет работать
- Режим сетевого хоста работает, когда я нахожусь внутри моей CentOS и простоперейдя к http://localhost:8080
- Но я ожидаю, что мой реальный компьютер с Windows 10 должен иметь доступ к моему http://192.168.x.y:8080. На самом деле это происходит, когда я запускаю докер в режиме моста с 8080: 8080 каквыход: входящие порты.
Так что я не могу сказать, является ли это ошибкой или функцией режима хоста.