Предоставлять услуги из контейнера docker на хост под Windows - PullRequest
0 голосов
/ 02 августа 2020

Продолжайте, используя Docker доступ к службе контейнера сети хоста под Windows,

. Мне трудно открыть службы в контейнере Linux (т. Е. Их порты), чтобы к ним можно было получить прямой доступ с хоста.

Если хост - Linux, я знаю целый спектр инструментов для устранения неполадок. Но когда дело доходит до хоста Windows, я не знаю, с чего начать и как шаг за шагом устранять неполадки.

Я начинаю docker с -p 3999:3999 на Windows и внутри контейнер Linux Я запускаю веб-службу на основе Go, прослушивающую 0.0.0.0:3999. Это то, что я делал без каких-либо проблем, когда хост - Linux. Единственная разница:

  • Хост теперь Windows
  • Это может не иметь никакого отношения, но Windows использует прозрачный прокси-сервер корпорации.

Как шаг за шагом устранить проблему?

Обновление:

У меня не установлен брандмауэр -

% iptables -L
-bash: iptables: command not found

% sudo iptables -L
sudo: iptables: command not found

% ufw status
-bash: ufw: command not found

% dpkg -l | grep fire || echo no firewall  found
no firewall found

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bullseye/sid
Release:        testing
Codename:       bullseye

1 Ответ

1 голос
/ 02 августа 2020

У меня была такая же ситуация. Я развернул службу реагирования в контейнере в centos 8. Хост, с которого я пытался получить доступ к службе, был windows. Мне не удалось получить доступ к службе из моего windows обозревателя хоста. И отключение брандмауэра помогло мне.

systemctl stop firewalld
systemctl restart docker
...