Я запустил файл Docker, используя python и flask.
но я не могу подключить флеш-сервер в localhost.
Я уже подтвердил, что код хорошо работает с PyCham в Mac.
после проверки журнала, я думаю, что колба-сервер хорошо работает в контейнере.
но я не могу подключиться к localalshost
Код Python
# app.py
from flask import Flask
app = Flask('app')
@app.route('/')
def index():
return "I'm from docker"
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
else:
print('imported')
Dockerfile.
FROM ubuntu:latest
MAINTAINER ian <ian@mysterico.com>
RUN apt-get update
RUN apt-get install python3 -y
RUN echo "python3 install SUCCESS #####"
RUN apt-get install python3-pip -y
RUN echo "pip3 install SUCCESS ######"
EXPOSE 5000
COPY requirements.txt /
COPY app.py /
WORKDIR /
RUN pip3 install -r requirements.txt
CMD python3 app.py
Некоторые журналы Docker
$ docker ps
КОНТЕЙНЕР ID ИМИДЖ КОМАНДА СОЗДАНА СТАТУС ИМЕНА ПОРТ
0691161cd0b5 колба: последняя "/ bin / sh -c 'python3…" 2 минуты назад вверх 2 минуты 0.0.0.0:5000->5000/tcp колба
$ docker logs 0691161cd0b5
* Запуск http://0.0.0.0:5000/ (нажмите CTRL + C, чтобы выйти)
* Перезапуск со статом
* Отладчик активен!
* PIN-код отладчика: 280-257-458
$ docker exec -it 71305c45d05b bash
root @ 71305c45d05b: / # curl 127.0.0.1:5000 -v
Перестроен URL-адрес на: 127.0.0.1:5000/
Попытка 127.0.0.1 ...
TCP_NODELAY установлено
Подключен к 127.0.0.1 (127.0.0.1) порту 5000 (# 0)
GET / HTTP / 1.1
Хост: 127.0.0.1:5000
Пользователь-агент: curl / 7.58.0
Принимаем: /
HTTP 1.0, предположим, что закрыть после тела
HTTP / 1.0 200 OK
Content-Type: text / html; кодировка = UTF-8
Длина контента: 15
Сервер: Werkzeug / 0.15.2 Python / 3.6.7
Дата: пн, 15 апреля 2019 15:31:36 GMT
Закрытие соединения 0
Я из докера
Я ожидаю, что при вводе localhost: 5000 вернется сообщение "Я из докера", но браузер Chrome вернул "Невозможно подключиться"
Что я сделал неправильно?