diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9c1c631 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# 使用官方 Python 运行时作为父镜像 +FROM python:3.7.3-slim + +# 设置工作目录 +WORKDIR /Covid_19_Detector + +# 将当前目录的内容复制到容器的 /PycharmProjects 中 +COPY . /Covid_19_Detector + + +# 安装依赖 +RUN pip install --upgrade pip \ + && pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt + + +# 暴露端口 +EXPOSE 5005 + +# 在容器启动时运行你的应用 +CMD ["cmd", "/c", "run.bat"] diff --git a/README.md b/README.md index 2e6d9d3..fcf4091 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,13 @@ 2.命令行输入 run.bat 3.浏览器输入http://127.0.0.1:5000/即可访问主页。 + + +docker部署: +windows环境和linux环境有两个不同之处,主要是因为windows的命令行和linux的bash不同,命令不同 +区别在于:linux需要 +1. 确保 run.sh 文件具有执行权限 +RUN chmod +x /app/run.sh +2. 指定容器启动时运行的命令 +CMD ["./run.sh"] +Dockerfile文件需要区别 diff --git a/config.py b/config.py index b21fab5..ced7f81 100644 --- a/config.py +++ b/config.py @@ -2,22 +2,28 @@ import os basedir = os.path.abspath(os.path.dirname(__file__)) -class Config: #公共配置 +class Config: # 公共配置 SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string' FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN') SQLALCHEMY_TRACK_MODIFICATIONS = False FLASKY_POSTS_PER_PAGE = 5 FLASKY_PATIENT_PER_PAGE = 5 + @staticmethod def init_app(app): pass + class DevelopmentConfig(Config): - DEBUG = 1 - SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost/covid_detector' + DEBUG = True + SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ + 'mysql+pymysql://root:123456@localhost/covid_detector' + class ProductionConfig(Config): - SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost/covid_detector' + SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ + 'mysql+pymysql://root:123456@localhost/covid_detector' + config = { 'development': DevelopmentConfig, diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..79ad879 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,27 @@ +version: '3.8' + +services: + db: + image: mysql:8.0 + environment: + MYSQL_ROOT_PASSWORD: 123456 + MYSQL_DATABASE: covid_detector + ports: + - "3306:3306" + volumes: + - db_data:/var/lib/mysql + - ./mysql-conf.d:/etc/mysql/conf.d + + web: + build: . + environment: + FLASK_ENV: development + DATABASE_URL: mysql+pymysql://root:123456@db/covid_detector + ports: + - "5005:5005" + depends_on: + - db + +volumes: + db_data: + diff --git a/flask_app/templates/main/index.html b/flask_app/templates/main/index.html index 73229ba..5b62401 100644 --- a/flask_app/templates/main/index.html +++ b/flask_app/templates/main/index.html @@ -77,7 +77,7 @@

获取更加深入的医疗服务

- 检测新冠 + 检测新冠
diff --git a/flask_app/templates/main_base.html b/flask_app/templates/main_base.html index 837b9f7..2a27e02 100644 --- a/flask_app/templates/main_base.html +++ b/flask_app/templates/main_base.html @@ -54,7 +54,7 @@ 问答
  • - {%if current_user.role_id==1%} + {%if current_user.role_id==2%} {%else%} {%endif%}我的 diff --git a/run.bat b/run.bat index ea6425c..ee904b7 100644 --- a/run.bat +++ b/run.bat @@ -1,5 +1,8 @@ @echo off set FLASK_APP=flaskapp.py +set FLASK_RUN_PORT=5005 set FLASK_ENV=development set FLASK_DEBUG=False -flask run +flask db init +flask db upgrade +flask run --host=0.0.0.0 --port=5005 diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..00f61f6 --- /dev/null +++ b/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash +export FLASK_APP=flaskapp.py +export FLASK_RUN_PORT=5005 +export FLASK_ENV=development +export FLASK_DEBUG=False +flask run --host=0.0.0.0 --port=5005