【发布时间】:2020-12-13 08:08:00
【问题描述】:
我有一个使用 SQLLite 数据库的简单烧瓶应用程序。
这是我的app.py 代码
from flask import Flask
from flask_restful import Api
from flask_jwt import JWT
from datetime import timedelta
from db import db
from security import authenticate, identity
from resources.user import UserRegister
from resources.product import Product, ProductList
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.secret_key = '@hsgvTyb@3gd###123'
api = Api(app)
@app.before_first_request
def create_tables():
db.create_all()
jwt = JWT(app, authenticate, identity) # /auth
app.config['JWT_EXPIRATION_DELTA'] = timedelta(seconds=1800)
api.add_resource(Product, '/product/<string:name>')
api.add_resource(ProductList, '/products')
api.add_resource(UserRegister, '/register')
if __name__ == '__main__':
db.init_app(app)
app.run(port=5000, debug=False)
DockerFile 如下:
FROM python:3
ADD app/ /app
WORKDIR /app
RUN apt-get update
RUN pip install -r requirements.txt
CMD python app.py
docker-compose.yml 如下:
version: "2"
services:
app:
container_name: test-146957-app
build:
context: ../
dockerfile: deployments/app/Dockerfile
ports:
- "5000:5000"
现在,当我执行 docker-compose up 命令时,它显示容器正在运行,但我从邮递员那里点击了任何端点,它没有返回任何响应。
【问题讨论】:
-
你在 docker compose 中暴露了端口吗?
-
@DavidYue 是的。
ports: - "5000:5000"请看上面 docker-compose 代码。
标签: python python-3.x docker flask docker-compose