使用dockerfile文件部署Python+PyWebIO项目

news2024/11/23 8:49:18

1、安装docker

教程详见之前的内容。https://blog.csdn.net/weixin_44691253/category_12101661.html

2、打包好Python项目

之前的文章中有提到我编写测试工具使用的框架:Python+Requests+PyWebIO框架详解,编写测试工具提高团队测试效率

打包项目时,需要创建requirements.txt,使用pip freeze命令生成,存放至Project根目录下。

在python项目下,执行以下命令,即可生成此文件,其中列出了该项目依赖的所有3方库。

pip freeze > requirements.txt

3、编写Dockerfile文件

新建一个txt文件,命名为Dockerfile,存放至项目TestTools根目录下。

# 基础镜像
FROM python:3.9.5
# 将项目代码复制到容器中
COPY . /TestTools
WORKDIR /TestTools
# 安装所需的 Python 库
RUN pip install -r requirements.txt
# 启动命令
CMD ["python", "main.py"]

4、构建Docker镜像

在TestTools目录下打开cmd或者powershell。运行以下命令来构建Docker镜像

docker build -f .\Dockerfile . -t pywebio-tools

5、小编遇到的问题

错误一

使用此命令构建时报错

docker build -t pywebio .

在这里插入图片描述改成指定dockerfile文件后问题解决了。

docker build -f .\Dockerfile . -t pywebio-tools

错误二

这里的点和/TestTools之间是有空格的。修改之后就可以正常构建了。
在这里插入图片描述

错误三

# 安装所需的 Python 库
RUN pip install -r requirements.txt

requirements.txt使用上述的路径,提示找不到。原因是dockerfile文件中的workdir写的不是TestTools。如果是其他名称,就需要指定路径(RUN pip install -r /TestTools/requirements.txt),如果是TestTools,当前写法就是ok的。
在这里插入图片描述这里把WORKDIR改成 /TestTools即可。

WORKDIR /TestTools

6、构建Docker镜像成功

构建中:
在这里插入图片描述

构建完成:在这里插入图片描述

7、在Docker Desktop可查看Images

在这里插入图片描述

8、创建容器

docker run -d -p 88:8888 --name=test-tools pywebio-tools

创建容器成功后,在web端直接访问pywebio application的url即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LlamaIndex:将个人数据添加到LLM

推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 LlamaIndex是基于大型语言模型(LLM)的应用程序的数据框架。像 GPT-4 这样的 LLM 是在大量公共数据集上预先训练的,允许开箱即用的令人难以置信的自然语言处理能力。但是,…

Ei、Scopus双检索 | 2024年第三届人工智能与机器学习前沿国际会议(FAIML 2024)

会议简介 Brief Introduction 2024年第三届人工智能与机器学习前沿国际会议(FAIML 2024) 会议时间:2024年4月26日-28日 召开地点:中国宜昌 大会官网:www.faiml.org FAIML 2024将围绕“人工智能与机器学习”的最新研究领域而展开,为…

扫地僧静态站群:神马SEO养权重站,快速出收录/权重

扫地僧静态站群:神马SEO养权重站,快速出收录/权重神马搜索权重需要慢养耐心 技巧也需要 百分百出权重率也不是梦图中权重为【站长工具】与爱站结果差距较大

Multimodal Video Pre-trainin

视频领域的多模态预训练工作近年来逐渐兴起。多模态模型通常融合了图像、视频、文本等多类特征,性能优于单模态模型。预训练模型通常以自监督的方式在大批量数据集上进行训练,而后服务于下游任务。本文梳理了近年来视频多模态预训练领域的相关工作&#…

Redis多机数据库实现

Redis多机数据库实现 为《Redis设计与实现》笔记 复制 客户端可以使用SLAVEOF命令将指定服务器设置为该服务器的主服务器 127.0.0.1:12345> SLAVEOF 127.0.0.1 6379127.0.0.1:6379将被设置为127.0.0.1:123456的主服务器 旧版复制功能的实现 Redis的复制功能分为同步&a…

扫地僧静态养站王站群:搜狗SEO站群收录养站效果

扫地僧静态养站王站群:Sogou搜狗SEO出站及收录效果,扫地僧静态站群采用了静态生成式的方式,只需要一个后台管理系统即可管理多个网站,大大提高了建站效率。建站大概45天左右,收录率百分之三十至百分之五十左右 如果对购买的域名进行把控&…

Spring系列文章1:Spring入门程序

一、什么是spring 一个java框架、java语言开发,轻量级、开源框架、在j2se、j2ee中都可以使用。它是一个管理对象的容器,Spring 容器不装文本,数字。装的是java对象。 核心技术:ioc、aop 官网地址 https://spring.io 项目列表…

汇编-外中断

我们知道, CPU在计算机系统中, 除了能够执行指令,进行运算以外,还应该能够对外部设备进行控制,接收它们的输入,向它们进行输出。也就是说, CPU除了有运算能力外, 还要有I/O(Input/Output, 输入/输出) 能力。比如, 我们按下键盘上的一个键, CPU最终要能够处理这个键。…

栈trace(kprobe)

最近在看CPU/GPU的调用&#xff0c;于是就有了&#xff1a; 与事件跟踪器类似&#xff0c;不需要通过 current_tracer 激活。相反&#xff0c;通过 /sys/kernel/tracing/kprobe_events 添加探测点&#xff0c;并通过 /sys/kernel/tracing/events/kprobes/<EVENT>/enable…

图片怎么转换成pdf格式?好方法必须分享

图片怎么转换成pdf格式&#xff1f;也许一些朋友会问&#xff0c;为什么要将图片转换成PDF文件呢&#xff1f;众所周知&#xff0c;PDF文件格式具有较高的安全性和兼容性&#xff0c;并且不容易编辑。因此&#xff0c;在打印时&#xff0c;将图片转换成PDF格式后再进行打印可以…

Ubuntu-22.04通过RDP协议连接远程桌面

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、RDP是什么&#xff1f;二、配置1.打开远程桌面功能2.验证服务3.防火墙配置4.测试效果 总结 前言 由于一些特殊需要&#xff0c;我需要通过远程桌面连接到U…

0017Java程序设计-spr农业过程化管理系统

摘 要目 录系统设计开发环境 摘 要 本农业过程化管理系统就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对农业过程化的管理&#xff0c;从而保证种植户能种植出优质的农作物&#xff0c;可以实现农业过程化的在线管理&#xff0c;这样保证…

传输层-TCP 的安全机制和高效策略

可靠性&#xff1a; 之前我们在UDP中谈到了&#xff0c;UDP不可靠但是简单&#xff0c;TCP可靠但是也要做更多的工作&#xff0c;那这些工作具体是什么呢&#xff1f;接下来让我们详细了解一下。 确认应答机制&#xff08;ACK机制&#xff09; 序号&#xff1a;我们可以把TCP…

Qt配置使用MSVC编译器

Qt配置使用MSVC编译器_qt msvc-CSDN博客注意:Qt支持的MSVC就是2017和2015&#xff0c;所以vs也要下载2017&#xff0c;不要直接用最新的&#xff0c;安装路径都用默认的。程序运行失败时可以尝试windeployqt拷贝库文件到本地&#xff0c;然后有可能就能运行了。VS官网下载Visua…

SOLIDWORKS工程图自动零件序号的极致体验

在装配体工程图中零件序号的标注要求不能漏标、要和明细表项目相对应、位置适当并且要按序排列。 这些要求看似简单&#xff0c;但是却需要极大的精力去完成。当然在SOLIDWORKS中这些问题都被很好的解决了&#xff0c;这也是本次分享的内容。 自动序号标注 1) 在进行尺寸标注前…

内网父子项目pom依赖依赖导入出现

这是拉下来两个独立的项目&#xff0c;子项目依赖父项目 我就把父项目install maven仓库中 再加载子项目 在子项目中就出现了有父项目导入类的提示但无论如何也导入不了该类 最后找错 我把本地父项目 install在maven仓库中删了 让子项目自动加载 就根据pom配置加载到内网仓库…

初始化一个 vite + vue 项目

创建项目 首先使用以下命令创建一个vite项目 npm create vite然后根据提示命令 cd 到刚创建的项目目录下&#xff0c;使用npm install安装所需要的依赖包&#xff0c;再使用npm run dev即可启动项目 配置 vite.config.js 添加process.env配置&#xff0c;如果下面 vue-route…

a_bogus 音 算法还原大赏

a_bogus算法还原大赏 hello&#xff0c;大家好呀&#xff0c;我是你的好兄弟&#xff0c;[星云牛马]&#xff0c;花了几天时间算法还原了这个参数的加密过程&#xff0c;一起看看吧&#xff0c;记得加入我们的学习群&#xff1a;529528142 天才第一步&#xff0c;F12你会不&am…

jframe生成柱状图片+图片垂直合并+钉钉机器人推送

需求&#xff1a; 后端根据数据自动生成2个图片&#xff0c;然后把两张图片合并成一张图片&#xff0c;再发到钉钉群里&#xff0c;涉及到定时生成和推送&#xff0c;当时我们测试同事说他们写定时脚本放到服务器上&#xff0c;然后让我提供生成图片的方法和钉钉机器人的逻辑 天…

rhcsa5(日志、维护准确时间)

分析和存储日志 许多系统都以文本文件的方式记录事件日志&#xff0c;而这些文件保存在/var/log目录中。 在红帽中有systemd-journald和rsyslog服务管理日志进程。systemd-journald服务是操作系统事件日志架构的核心&#xff0c;包括内核、引导过程早期阶段的输出、守护进程启动…