как использовать контейнерное приложение, запущенное в сети моста из браузера

#linux #docker #networking #docker-networking #vmware-player

Вопрос:

Пожалуйста, помогите с этим

  1. У меня есть ноутбук с Windows —> На этом установленном аппаратном средстве виртуальной машины —>> На этом я установил ОС Linux
  2. Установленное окно настройки и остановленная firewalld служба (затем запускается только служба настройки)
  3. Если я выполню docker run команду от имени:
 docker run **--network=host** -p 8080:8080 -d tomcat
 

Только тогда можно получить доступ к URL-адресу: http://:8080 то есть http://192.168.0.108:8080 (Это был IP виртуальной машины Linux) из браузера в системе Windows

  1. Если я выполню команду docker без использования этой --network=host опции, я не смогу получить доступ к контейнерному приложению. например, если выполняется docker run -p 8080:8080 -d tomcat

как я могу получить доступ ко всем запущенным контейнерам из системного браузера Windows? Нужно ли добавлять маршрут в ОС Linux (ту, которая установлена в программном средстве виртуальной машины) или в Windows, или изменять сетевые настройки в конфигурации VMware? Ip-адрес контейнера Docker начинается с серии 172.17.xx.xx, а моя ОС Windows/LINUX была на серии 192.168.xx.xx. нужно ли добавлять какой-либо маршрут?

МОИ сетевые данные:

 [root@Docker_test ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:e8ff:fef2:7ed7  prefixlen 64  scopeid 0x20<link>
        ether 02:42:e8:f2:7e:d7  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 500  bytes 23738 (23.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.108  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fee6:b685  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e6:b6:85  txqueuelen 1000  (Ethernet)
        RX packets 2310526  bytes 3211791978 (2.9 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 457745  bytes 45884268 (43.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@Docker_test]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
 

С Уважением
, Озу

Комментарии:

1. Вы настроили сетевой адаптер компьютера Linux в приложении VMware как bridged ? кроме того, рассматривали ли вы docker for desktop возможность использования вместо виртуальной машины Linux?

2. да. мое программное приложение виртуальной машины было подключено как мост

3. Можно ли вместо этого установить рабочий стол docker на хост Windows? Я думаю, что для такого использования это лучший вариант. Также, пожалуйста, добавьте ipconfig вывод с ноутбука

4. Общие сведения о конфигурации и маршруте машины Linux в описании