Симптом
Порт опубликован, docker ps это подтверждает, приложение отвечает изнутри — но не снаружи.
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.