将Python项目(Flask)打包成Docker镜像,部署到微软云---Azure

前情提要:首先创建一个简单的Flask项目,参考上一篇文章
链接: 将 Python (Flask) Web应用部署到Azure应用服务

一、准备环境

1、安装Docker

下载链接:Install Docker Desktop on Windows

2、下载 Linux 内核更新包

在这里插入图片描述
如果出现以上弹窗,点击链接,安装Linux 内核更新包

在这里插入图片描述

运行下载的更新包(系统将提示你提供提升的权限,选择“是”以批准此安装)

下载链接:旧版 WSL 的手动安装步骤 | Microsoft Docs

打开开始菜单,打开Power Shell,位置如下图:
在这里插入图片描述
将 WSL 2 设置为默认版本:

wsl --set-default-version 2

在这里插入图片描述

3、打开 Microsoft Store,下载Ubuntu

选择一个版本,点击获取
在这里插入图片描述
安装完成后,点击打开(首次打开,需要在控制台窗口等待1-2分钟)

为新的 Linux 分发版创建用户帐户和密码:
在这里插入图片描述

4、Visual Studio Code安装Docker插件

安装Azure Tool插件:
安装成功后, Ctrl+Shift+P,输入 Azure:Sign In 进行登录
在这里插入图片描述
安装Docker插件:
在这里插入图片描述

二、将项目打包成Docker镜像 并 部署

1、生成requirements.txt

进入虚拟环境

venv\Scripts\activate

安装 pipreqs

pip install pipreqs

生成依赖包清单:

pipreqs ./ --encoding=utf8 --force

2、编写Dockerfile

新建文件Dockerfile,没有后缀,如下图
在这里插入图片描述

# 基于的基础镜像
FROM python:3.8.10

# 设置工作目录为 /demo/
WORKDIR /demo/

# 将依赖文件拷贝到工作目录
COPY requirements.txt /demo/

# 执行pip指令,安装这个应用所需要的依赖  
RUN pip install -r requirements.txt

# 拷贝当前目录的所有内容拷贝到工作目录下
COPY . /demo/

# 允许外界访问5000端口
EXPOSE 5000

# 设置容器进程为python app.py ,启动
ENTRYPOINT [ "python", "app.py" ]

3、构建镜像

先打开Docker Desktop,放着就好
在这里插入图片描述

docker build -f ./Dockerfile -t images0815 .

images0815 是镜像名

在这里插入图片描述

4、启动容器

docker run -itd -p 5000:5000 --name cntr0815 images0815

-p 5000:5000 为 主机(宿主)端口:容器端口 、
–name cntr0815 images0815 对应 容器名 镜像名
在这里插入图片描述

5、检查容器是否启动

docker ps

在这里插入图片描述

6、创建容器注册表

在这里插入图片描述创建完成后,去注册表的访问密钥功能中,开启管理员用户,如下图
在这里插入图片描述
在Docker插件中,找到刚刚创建的镜像,右键选择Push,如下图所示
选择资源组->容器注册表
在这里插入图片描述
在这里插入图片描述

7、创建Web应用

在这里插入图片描述
选择订阅、资源组、区域、以及应用服务计划,[ 发布* ] 选择 [ Docker容器 ]
在这里插入图片描述
[ 映像源 ] 选择 [ Azure容器注册表 ],选择刚刚创建的注册表 [ registry0815 ]
在这里插入图片描述
创建成功后,点击 Web App的配置,将 [ 仅HTTPS?] 功能 关闭
在这里插入图片描述

8、浏览

在 [ 概述 ] 中点击浏览,或者点击URL,即可进行预览

在这里插入图片描述

三、更新版本

对代码进行一些更改,然后保存
在这里插入图片描述
重新构建镜像

docker build -f ./Dockerfile -t images0815:v2 .

images0815 是镜像名,v2 是新镜像的标签

在这里插入图片描述
构建完成:
在这里插入图片描述
进入我们之前创建的Web App,选择 [ 部署中心 ] 功能,在标记选项中 选择 [ v2 ] 版本,点击 [ 保存 ]
在这里插入图片描述
再次访问:
在这里插入图片描述

注意: 部署成功之后,可能有5分钟的延迟,如果更新后访问依然是旧版本,可以过一段时间再访问试试

欢迎关注我的博客,与我一起学习,我将持续分享我的学习过程,我是 热爱学习的小翁同学~

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python+Flask的人脸识别部署-毕业设计源码+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 基于Python+Flask的人脸识别部署-毕业设计源码+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 基于Python+Flask的人脸识别部署-毕业设计源码+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 基于Python+Flask的人脸识别部署-毕业设计源码+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 基于Python+Flask的人脸识别部署-毕业设计源码+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 基于Python+Flask的人脸识别部署-毕业设计源码+使用文档(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值