有关于Docker+Gunicon+Niginx+Flask 的一系列问题
我是自学的想大家问好!
刚开始写程序,很多不懂请各位指教。我写好的flask应用已经可以在本地虚拟环境运行了,但由于项目需要,以及我是自学,看了很多教程之后我选择了Docker+Gunicon+Niginx+Flask方式来部署我的应用。虽然大家们写的教程都很详细,但涉及很多基础知识盲区(可能很多人都不认为这是需要写在教程里的),所以有很多疑惑希望有朋友指教!
首先我对Docker+Gunicon+Niginx+Flask的理解是:
1.在本地用Docker打包好我的应用镜像传到Docker hub
2.在服务器端安装Docker+Gunicon+Niginx这3个东西
3.然后把之前已经上传的镜像从Docker hub 拉下来
那么如果上述理解没有错的话,我就有以下疑惑了:
抱歉问题太多!主要是对整个架构和结构不太理解!
这篇文章:docker部署flask应用 也许能够解决你的问题,你可以看下其实还有很多问题,看了很多教程都没有说明白:
本地写的flask是在虚拟环境下的,那么是不是docker也是要把虚拟环境打包进去?具体的文件夹结构怎么摆放的(其实这类小问题最坑,但往往很多老手觉得“大家应该知道吧”?)https://blog.csdn.net/weixin_44491423/article/details/123358368
这是最多人看的相关话题,但都没说清楚。
如果不打包虚拟环境,那么打包的时候要deleted本地的虚拟环境(也就是ven文件夹)?那写flask的时候要重新装虚拟环境?每次写完又delete,上传镜像?不可能吧?
没有一个教程讲明白本地怎么打包镜像的。都说:本地要配置一个Dockerfile文件,那是不是以为着有了这个文件=打包了?这里实在不理解,我所理解的打包本地镜像文件类似于zip的操作,不好意思不懂就问,希望有明确的答案(虽然我不理解为什么写了这个文件就等于打包成镜像了,实际上啥都没做)
抱歉,实在不太理解