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

2023-10-29

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即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用dockerfile文件部署Python+PyWebIO项目 的相关文章

  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • 如果值在列表 pandas 中,则布尔向量

    在 pandas 中创建布尔向量来测试值很容易 例如 DF a gt 10 但是你怎么写 DF a in list 根据某个列表或其他列表中系列中每个值的成员资格生成布尔向量 我收到一个值错误 我知道我可以非常简单地循环数据 但是不必这样做
  • 如何将数组列表转换为 Spark 数据帧

    假设我有一个列表 x 1 10 2 14 3 17 我想转换x具有两列的 Spark 数据框id 1 2 3 和value 10 14 17 我怎么能这么做呢 Thanks x 1 10 2 14 3 17 df sc paralleliz
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • 如何在 R 或 Python 中制作旭日图?

    到目前为止 我一直无法找到一个可以创建旭日图的 R 库约翰 斯塔斯科 http www cc gatech edu gvu ii sunburst 有人知道如何在 R 或 Python 中实现这一点吗 在极坐标投影中使用 matplotli
  • Plotly Python - 热图 - 更改悬停文本 (x,y,z)

    我有一个用 python 绘制的热图 悬停文本工作完美 但它的每个变量都带有 x y 或 z 前缀 如下所示 有什么办法可以改变这个 即x FY y Month 和z Count 这是生成上面热图的代码 dfreverse df hml v
  • Python 和图形数据库。使用 java lib 包装器还是 REST api?

    我想问你在Python中使用图数据库 Neo4j 的最佳方法 你觉得我应该使用 neo4j python embedded neo4j python 嵌入式 http docs neo4j org chunked milestone pyt
  • Celery 任务分析

    正如我所看到的top公用事业celery进程消耗大量CPU时间 所以我想介绍一下它 我可以在开发人员机器上手动执行此操作 如下所示 python m cProfile o test date Y m d T prof manage py c
  • 在 python 中将变量传递给重定向上的模板

    我对 Python 比较陌生 所以请原谅任何幼稚的问题 我的主页有 2 个输入 一个用于 产品 一个用于 电子邮件 当用户单击 提交 时 他们应该被发送到 success 其中会显示 您已请求 产品 您将通过 电子邮件 收到通知 我试图找出
  • 如何在Python中增加文件名

    我正在尝试保存大量需要分成不同文件的数据 如下所示 数据 1 dat 数据 2 dat 数据 3 dat 数据 4 dat 我如何在Python中实现这个 from itertools import count filename data
  • Python极坐标图:绘制与角度对应的值

    我正在尝试绘制以不同角度记录的传感器数据 import pandas as pd import matplotlib pyplot as plt create dataframe each row contains an angle and

随机推荐

  • DenseFuse:红外和可见图像的融合方法

    目录 论文下载地址 代码下载地址 论文作者 模型讲解 论文解读 网络结构 损失函数 训练过程 融合策略 相加策略 L1范数策略 结果分析 训练阶段 实验设置 评价指标 融合结果评估 RGB图像与红外图像的测试 传送门 论文下载地址 Dens
  • BLAS&LAPACK数值计算资源

    网络资源 Factoring block tridiagonal symmetric positive definite matrices Solving a system of linear equations with a block
  • datetime时间格式化中间为什么有个T

    如时间为 2020 01 12T15 17 21 国际标准化组织的国际标准ISO 8601是日期和时间的表示方法 全称为 数据存储和交换形式 信息交换 日期和时间的表示方法 原文如下 日期和时间的组合表示法编辑 合并表示时 要在时间前面加一
  • [ESP][驱动]GT911 ESP系列驱动

    GT911ForESP GT911在ESP系列上的驱动 基于IDF5 0 ESP32S3编写 本库使用面向对象思想编写 可创建多设备多实例 Github Gitee同步更新 Gitee仅作为下载仓库 提交Issue和Pull request
  • 求解 org.elasticsearch.index.mapper.MapperParsingException

    Exception in thread main org elasticsearch index mapper MapperParsingException Root type mapping not empty after parsing
  • Qt GUI编程 基础入门

    一 Qt简介 Qt是挪威Trolltech公司的旗舰产品 作为跨平台开发框架 是开源KDE桌面的基石 Google Earch Skype Opera Adobe Photoshop Element等著名软件都是基于Qt编写的 和java的
  • 代码自动生成,给程序员带来的是“春天”还是“寒冬”?

    CodeGeeX受邀参与由AI大模型领域的青年中坚力量组织的活动 在计算机编程领域 基于大模型能力的代码生成工具 探讨给程序员带来的各种机会与挑战 近期CodeGeeX 2 0大版本上线 用对话的方式直接操作代码 开发提效 推荐体验 活动背
  • elementui生产环境图标加载时偶而乱码

    elementui 打包后图标加载偶尔会乱码 preface 错误现象 猜想 解决方案 1 elementui 源码使用的是 node sass 2 我本地的 是 dart sass 3 查看了 打包后的css 文件 4 卸载 dart s
  • QT qint64转int 的使用记录(小白笔记)

    起因 使用Qt Creator 5 7 版本时警报没那么明显 新使用 Qt Creator 5 13 2 版本后报错和警告都异常明显 留着查看的时候感觉很不舒服 也是知识面不够充足 记录下自己的对 qint64 强转为 int的做法 以免忘
  • ocr表格识别(四)——文本检测DBnet原理及其实现

    文本检测DBnet原理及其实现 文本检测之DBnet 文本检测之DBnet模型构建 Backbone选择与构建 构建FPN特征金字塔 DBhead 可微二值化 文本检测之DBnet DB DifferenttiableBinarizatio
  • 通过分析Ajax请求抓取【今日头条】“街拍”美图

    20119 3 25更新 今日头条的 图集 模块已经改为 视频 了 可能是被人爬多了 分割线 有一些网页直接请求得到的HTML代码并没有在网页中看到的内容 因为一些信息是通过Ajax加载 并通过js渲染生成的 这时就需要通过分析网页的请求来
  • JAVA之Mysql应用|记一次通过mysql表中的三个字段对应一个前端组合状态字段查询场景的解决方案

    多个后端字段对应前端单一字段的思考与解决方案 一 需求背景 二 需求可行性 1 现状描述 2 可行性分析 三 细节分析 四 解决方案 1 前端逻辑 2 后端处理逻辑 3 后端sql 4 sql小细节 1 1 五 结论 一 需求背景 最近项目
  • Pyotorch自定义损失函数

    作者简介 大数据专业硕士在读 CSDN人工智能领域博客专家 阿里云专家博主 专注大数据与人工智能知识分享 公众号 GoAI的学习小屋 免费分享书籍 简历 导图等资料 更有交流群分享AI和大数据 加群方式公众号回复 加群 或 点击链接 专栏推
  • Spring Boot 教程:使用 Spring Boot 实现 SSE 服务端实时单向消息推送

    Spring Boot 教程 使用 Spring Boot 实现 SSE 服务端实时单向消息推送 在本教程中 我们将探讨如何使用 Spring Boot 框架来实现 SSE Server Sent Events 服务端 以实现实时的单向消息
  • APP自动化测试-6.断言处理assert与hamcrest

    APP自动化测试 6 断言处理assert与hamcrest 文章目录 APP自动化测试 6 断言处理assert与hamcrest 前言 一 assert断言 二 hamcrest断言 总结 前言 主要记录一下常规断言assert的常用场
  • 全志h3文件服务器,全志H3 NFS使用手册介绍

    1 功能介绍 1 1 文件传输 支持 NFS 服务器向本地进行文件传输 支持本地项 NFS 服务器进行文件传输 1 2 视频播放 盒子播放 NFS 服务器上的视频如同播放本地视频 只要是支持解码的视频都可以正常播放 测试过的视频格式 3pg
  • C++&QT-模仿string类

    目录 1 mystring h 2 mystring cpp 3 main cpp 4 运行结果 1 mystring h ifndef MYSTRING H define MYSTRING H include
  • GraphQL java工程化实践

    因为自己写过基于react的前端应用 因此一看到GraphQL就被深深吸引 真是直击痛点啊 服务端开发一直是基于java Spring的 因此开始研究如何在现有工程框架下加入graphql的支持 本文属于随笔性质 学到哪里 用到哪里 就写到
  • soundflower下载_安装soundflower软件,轻松解决mac录制系统声音!

    我分享一下怎么样去安装soundflower插件 干货满满 一 打开安装软件安装包 自行下载 很方便 大家的电脑很多都是会弹出一个错误的提示框 来自身份不明或者是一些什么损坏 然后也无法验证之类的 所以我们第一步就是要打开系统的 任何来源
  • 使用dockerfile文件部署Python+PyWebIO项目

    1 安装docker 教程详见之前的内容 https blog csdn net weixin 44691253 category 12101661 html 2 打包好Python项目 之前的文章中有提到我编写测试工具使用的框架 Pyth