Невозможно запустить образ докера с приложением в Python - PullRequest
0 голосов
/ 24 апреля 2019

Я следую учебным пособиям по докеру с веб-сайта докера (https://docs.docker.com/get-started/part2/)) и пытаюсь запустить приложение (app.py - код приведен ниже) после создания образа «friendlyhello». Однако когда я пытаюсьчтобы запустить приложение, я получаю сообщение об ошибке ниже. Я думаю, это как-то связано с кодом (app.py)

Я успешно создал образ докера. Однако, когда я пытаюсь запустить приложение, котороечтобы отобразить вывод в браузере, я получаю сообщение об ошибке: Ошибка имени: имя "null" не определено , как показано на снимке экрана ниже

enter image description hereЯ верю в это из-за формата json файла app.py, который имеет параметр execute_count и значение, равное NULL. Я понимаю, что pYthon имеет значение «Нет», но когда я вручную изменяю его, он все равно выдает ту же ошибку

App.py - с веб-сайта учебного пособия

from flask import Flask
from redis import Redis, RedisError
import os
import socket

# Connect to Redis
 redis = Redis(host="redis", db=0, socket_connect_timeout=2, 
 socket_timeout=2)

 app = Flask(__name__)

 @app.route("/")
 def hello():
    try:
        visits = redis.incr("counter")
    except RedisError:
    v   isits = "<i>cannot connect to Redis, counter disabled</i>"

    html = "<h3>Hello {name}!</h3>" \
       "<b>Hostname:</b> {hostname}<br/>" \
       "<b>Visits:</b> {visits}"
    return html.format(name=os.getenv("NAME", "world"), 
  hostname=socket.gethostname(), visits=visits)

 if __name__ == "__main__":
     app.run(host='0.0.0.0', port=80)

Формат JSON - сгенерирован автоматически - у меня есть только блокнот Jupyter и в моей системе нет pycharm, чтобы открыть его.уверен ли как это JSONсгенерированный формат.

enter image description here

Я ожидаю, что на выходе будет возможность запустить изображение докера и увидеть результат, как показано на рисунке ниже

Выход

enter image description here

...