Рейтинг:1

Все еще не понимаю, почему докер работает, когда вы заставляете процесс прослушивать 0.0.0.0, а не 127.0.0.1.

флаг ve
константное имя хоста = '0.0.0.0'; // << Вот тут я запутался
постоянный порт = 3000;

постоянный сервер = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Привет, мир');
});

server.listen(порт, имя хоста, () => {
  console.log(`Сервер работает по адресу http://${hostname}:${port}/`);
});

Когда я докеризую это приложение и запускаю его в контейнере, имя хоста 0.0.0.0 работает, но 127.0.0.1 не работает. Я понимаю, почему это происходит потому, что док-контейнеры в значительной степени получают свой собственный IP-адрес.

Поэтому, когда я создаю и запускаю контейнер, когда я устанавливаю переменную имени хоста на 127.0.0.1, а затем посещаю 127.0.0.1 в своем браузере, я подключаюсь не к IP-адресу контейнера, а к своей локальной машине.

Но почему, когда я запускаю контейнерное приложение на 0.0.0.0 и захожу на 127.0.0.1 в своем браузере, оно теперь подключается к контейнеру, а не к моей локальной машине?

Спасибо.

Рейтинг:2
флаг in

docker — это «другая машина», и ваша машина перенаправляет порт на эту машину на локальном хосте.

Поэтому, когда приложение внутри докера прослушивает 127.0.0.1, который действителен только внутри этой машины, чтобы подключиться к нему «снаружи», вам нужно прослушать Любые адрес.

Так что есть 2 разных 127.0.0.1.

Если вы слушаете Любые (0.0.0.0), то он также доступен на 127.0.0.1 и на всех других интерфейсах/IP-адресах на машине.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.