【发布时间】:2021-12-26 10:08:30
【问题描述】:
我正在尝试将一个简单的 python 应用程序容器化,该应用程序存储一个网站的访问时间。 Redis 似乎可以工作,但 Flask 拒绝吃午饭。我在运行 docker-compose up --build 时收到此错误:
web-fe_1 以代码 0 退出
以下是我的 Dockerfile、docker-compose.yml 和 app.py
FROM python:3.6-alpine
ENV FLASK_APP app.py
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD [ "flask","run","--host=0.0.0.0","--port=5000"]
version: "3.5"
services:
web-fe:
build: .
command: python app.py
ports:
- target: 5000
published: 5000
networks:
- counter-net
volumes:
- type: volume
source: counter-vol
target: /code
redis:
image: "redis:alpine"
networks:
counter-net:
networks:
counter-net:
volumes:
counter-vol:
import os
from flask import Flask
from flask_redis import FlaskRedis
app = Flask(__name__)
app.config['REDIS_URL'] = 'redis://redis:6379/0'
redis = FlaskRedis(app)
@app.route('/')
def counter():
return '{0} {1} {2}'.format('Hello! You have visited me:',str(redis.incr('web2_counter')),' times.')
这几乎与 Poulton 在 https://github.com/nigelpoulton/counter-app 上的反应用程序相同 .. 唯一不同的是我的 app.py 没有调用函数 (if__name__== "main” ).. 问题是我想在不修改 app.py 的情况下完成这项工作,并且只能通过 Dockerfile / docker-compose
【问题讨论】: