Моя виртуальная машина - CentOS 7, а docker - 19.03.8. Я создаю свое собственное изображение python-image
. Я запускаю следующие коды для создания нового контейнера:
docker run -it -p 5555:5000 python-image /bin/bash
В контейнере сценарий python с именем test.py
выглядит следующим образом:
# test.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def func():
return "Hello docker!"
if __name__ == '__main__':
app.run('0.0.0.0', port=5000)
Затем я запускаю python test.py
и выше контейнера.
В хост-оболочке я запускаю curl http://127.0.0.1:5555/
, и он печатает:
curl: (56) Recv failure: Connection reset by peer
Я знаю, что при указании --network
как host
при создании контейнер:
docker run -it --network host python-image /bin/bash
Запуск сервера и запуск curl http://127.0.0.1:5555/
на хосте получит ожидаемую информацию. Интересно, что мне делать, если оставить значение по умолчанию --network
, чтобы получить тот же результат.