У меня внутри контейнера есть колба.Я запускаю этот контейнер с
docker run -p 5000:5000 pyprojects_web
Он отвечает
* Serving Flask app "debateit.py"
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Если я запускаю
docker container ls
, я получаю
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2221298e6e2c pyprojects_web "flask run" 12 minutes ago Up 12 minutes 0.0.0.0:5000->5000/tcp elated_joliot
Если яaccess http://127.0.0.1:5000 Я получаю:
This site can’t be reached
The web page at http://127.0.0.1:5000/ might be temporarily down or it may have moved permanently to a new web address.
ERR_SOCKET_NOT_CONNECTED
http://localhost:5000 дает аналогичный ответ.
Обычный совет - слушать все соединения внутри вашего контейнера с 0.0.0.0 - но я уже делаю это.Вот мое приложение:
from app import app
if __name__ == "__main__":
app.run(host="0.0.0.0")
Если я закручиваюсь изнутри своего контейнера, он отлично работает:
docker exec -it 2221298e6e2c curl http://localhost:5000
с длинным ответом HTML, и журналы моего сервера получают:
127.0.0.1 - - [04/Jun/2018 01:00:16] "GET / HTTP/1.1" 200 -
Учитывая эти результаты и учитывая, что у меня есть хост "0.0.0.0", что еще можно попробовать?
Спасибо.