新手入门教程:Windows系统利用 Docker创建Python flask镜像并运行网站应用


前言`

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

学习Docker可以在Docker-desk top上参考相关内容:

在这里插入图片描述

但是最近想学下Docker相关应用,很多教程讲的都是LINUX系统,在WINDOWS系统上遇到的问题不一样,操作的流程也不太一样,所以决定新做一个新手向简单的流程示例,后面对完全掌握Docker应用有所帮助


以下举例一个Docker应用,利用Docker创建带Flask模块的Python镜像,并以此镜像创建容器运行应用


一、安装Docker


官方Docker镜像下载地址: Docker下载链接


可能遇到的问题:需要安装.netframework,在windows功能上启用
在这里插入图片描述

二、准备文件

在Windows系统新建个文件夹,名称为DockerImageDirectory(可任取),在文件夹下创建个名称为requirements.txt文件(名称固定);
在requirement.txt中填写需要安装的的第三方库及版本,本次在python里只需要安装一个模块flask,所以文件内容为:Flask==2.3.2

在这里插入图片描述

三、生成Dockerfile文件

1、在文件夹下按住Shift并右击,选择《在此处打开PowerShell窗口》;

在这里插入图片描述

2、在弹出的PowerShell对话框中输入Docker init命令,在接下来的对话中按照下图选项设置

利用Docker init 指令可以方便创建dockerfile文件,通过选择几个对话选项即可

在这里插入图片描述
对话完成后可以在文件夹中看到生成了3个文件,其中一个为Dockerfile,创建完成,后面可以创建镜像了
在这里插入图片描述

四、创建镜像

1、接下来在对话框中输入"Docker build -t image_python_flask_demo ." 命令等待镜像创建完毕如下图:

在这里插入图片描述

2、镜像创建完成后可以再输入docker images命令来查看当前docker里有哪些镜像

在这里插入图片描述

五、生成容器并运行Flask应用

1、利用python及Flask模块创建一个简单的网页应用,如下图,运行后可以正常开启页面即可,然后确认当前项目所在的地址,此例为C:\Users\reedi\PycharmProjects\WebService_Django(想学Django呢先学了Flask~~)

在这里插入图片描述

2、在对话框中输入"docker run -it --name container_python_flask_demo -v C:\Users\reedi\PycharmProjects\WebService_Django:/app -p 5000:5000 image_python_flask_demo" 回车确认,如下图当下方出现RUNNING on …时表示容器已经正常运行。按住CTRL再点击http://127.0.0.1:5000时弹出网站页面时表示容器已经正常运行了。

在这里插入图片描述
页面可以正常打开说明Docker创建镜像及容器完成

在这里插入图片描述

六、创建镜像仓库并将镜像上传到网络仓库

1、打开PowerShell并查看当前Docker中的镜像

在这里插入图片描述

2、确认需要上传的镜像,并运行指令Docker tag python:alpine3.18 pittding/python:v2

在这里插入图片描述

注意: 需要上传的镜像需要Docker tag指令将本地的镜像转化为带有用户信息的镜像后才能上传,否则直接上传会失败

可以在Docker desktop 中查看生成的镜像,点击要上传的镜像 等待上传完成

在这里插入图片描述

3、上传完成后会弹出上传成功对话框

在这里插入图片描述

要将镜像上传到官方仓库需要先建立一个账号,然后登录后上传;另外上传时可能因为国内网络问题无法上传。可以选择国内的镜像网站上传

在这里插入图片描述

七、从网络仓库拉取镜像

在这里插入图片描述

在这里插入图片描述

总结

创建Docker镜像及容器需要一些知识储备:

  1. Docker 创建镜像及容器的指令 菜鸟教程
  2. Dockerfile 创建及应用的指令,主要用的有From,RUN,CMD Docker官方文档
  3. PowerShell命令行指令
  4. Python 及 Flask 创建页面
  5. 官方镜像仓库上传及拉取需要建立Docker账号,也可能涉及到网络问题,如果不能成功可以选择国内镜像仓库,如阿里云

本示例只是讲解了创建Docker镜像的简单流程,每个人在做流程也会多多少少遇到这样那样的问题,多Bing,多动手,多思考,熟能生巧,希望你顺利!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于您的问题,我可以提供以下解答: 首先,在群晖docker运行Python Flask架构的网站,您需要使用Docker Hub上的Python镜像,其中包含了Python运行环境。然后,您需要在Docker创建一个新的容器,首先指定Python镜像,然后将您的Flask应用程序代码添加到容器中,并确保将端口映射到主机上以接受来自外部网络的请求。 具体步骤如下: 1. 从Docker Hub上拉取Python镜像。可以使用以下命令从终端执行: ``` docker pull python ``` 2. 创建一个Docker容器来运行Flask应用程序。需要在容器中包含以下几个元素: - 映射主机端口以接受来自外部网络的请求。 - 将Flask应用程序代码添加到容器中运行。 - 安装应用程序所需的Python包。 可以使用以下命令在终端中执行: ``` docker run -p 5000:5000 -v /host/path/to/app:/app -e "PYTHONPATH=/app" python:latest python /app/app.py ``` 解释一下以上命令的参数: - -p 5000:5000 :将容器的端口映射到主机的端口,这里是将容器的5000端口映射到主机的5000端口。 - -v /host/path/to/app:/app :将主机上的/app路径映射到容器的/app路径,这样在主机上修改代码后,容器中的代码也会同步更新。 - -e "PYTHONPATH=/app" :设置环境变量,确保Python添加应用程序所在路径到系统路径。 - python:latest :指定使用最新的Python镜像。 - python /app/app.py :运行Flask应用程序。 3. 检查容器是否正在运行。可以使用以下命令在终端中执行: ``` docker ps -a ``` 以上就是我提供的解答。如果您有任何其他问题,欢迎随时向我提出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值