尝试Docker get-started example我继续在此问题的底部包含缩进错误消息,但我无法诊断问题。我已经将链接中的复制/粘贴版本编辑为"看起来像"浏览器视图并已用4个空格替换所有选项卡。但我不太清楚代码本身是否足以知道浏览器缩进视图是否与其有关。
我的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:
visits = "<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)
错误包含在下面的控制台会话中。
server:docker0 brian$ docker run -p 4000:80 friendlyhello
File "app.py", line 15
except RedisError:
^
IndentationError: unexpected indent
server:docker0 brian$
如何解决错误?
答案 0 :(得分:1)
在继续调试的同时,我从RedisError
行删除了单词except
作为测试。但错误消息仍包含RedisError
。这是我的线索,我认为正在执行的app.py没有被执行。我必须在docker build ./ -t friendlyhello
之前再次执行docker run
。