Главная/Материалы/Материал

Симптом

Порт опубликован, docker ps это подтверждает, приложение отвечает изнутри — но не снаружи.

bash
docker build -t сценарий-03 .
docker run -d --name с03 -p 8080:8000 сценарий-03
sleep 2
docker ps --format '{{.Names}} {{.Ports}}'   # 0.0.0.0:8080->8000/tcp
docker exec с03 python -c "
import urllib.request
print(urllib.request.urlopen('http://127.0.0.1:8000/').status)"   # 200
curl -sS localhost:8080/                     # отказ

Задача. Объяснить, почему изнутри работает, а снаружи нет, и что означает 127.0.0.1 внутри container'а.

Разбор: challenge 4.

Markdown на GitHub ↗