Запуск Docker внутри CentOS VMWare Player - Сетевой хост против моста - PullRequest
0 голосов
/ 28 июня 2019

Я заметил странную проблему с настройкой моего докера.Вот пример:

Мои настройки:

  • У меня есть железная машина 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 каквыход: входящие порты.

Так что я не могу сказать, является ли это ошибкой или функцией режима хоста.

...