环境介绍和大致思路
宿主机:192.168.32.14 系统:CentOS7.9
Docker版本:Docker version 26.0.0
宿主机Nginx监听80端口,转发到容器中Gunicorn启动的flask应用,
flask应用,通过-v参数挂载到容器中,这样方便代码修改
上传项目
首先将项目上传到宿主机
# 我放在一个my_app的目录下
mkdir my_app
cd my_app
# 上传的文件内容如下所示
[root@node4 my_app]# ls
it_home requirements.txt
其中的__init__.py是flask应用启动的入口,内容如下
import os
from flask import Flask
from flask import send_from_directory
def create_app(test_config=None):
# create and configure the app
app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY='dev',
# DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
)
if test_config is None:
# load the instance config, if it exists, when not testing
app.config.from_pyfile('config.py', silent=True)
else:
# load the test config if passed in
app.config.from_mapping(test_config)
# 欢迎界面
@app.route('/hello')
本文介绍了如何在CentOS7.9的宿主机上,利用Docker搭建环境,通过编写Dockerfile创建镜像,然后在容器中用Gunicorn启动Flask应用。同时,详细讲解了如何配置Nginx作为反向代理,实现宿主机80端口转发到容器内部的Flask应用,使得网站能够被正常访问。最后,讨论了Docker端口映射的工作原理。
最低0.47元/天 解锁文章
949

被折叠的 条评论
为什么被折叠?



