python写的服务,用docker制作镜像并且打包

步骤1 简单写一个python服务脚本app.py,通过http访问一个端口,收到helloworld

from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['GET'])  # 确保包括'GET'方法

def hello_world():

    return 'Hello, World!'

if __name__ == '__main__':

    app.run(host='0.0.0.0', port=5002)

步骤2  生成requirements.txt文件

pip freeze->requirements.txt 

步骤3 准备Dockerfile文件

# 使用官方Python 3.12镜像作为基础镜像

FROM python:3.12

# 设置工作目录

WORKDIR /app

# 将当前目录内容复制到容器内的/app目录

COPY . /app

# 安装依赖,假设你有一个requirements.txt文件

RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip

RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

# 运行时暴露端口

EXPOSE 5002

# 定义环境变量

# ENV NAME World

# 运行应用

CMD ["python", "app.py"]

步骤4 build镜像

在目录下cmd,输入docker build -t mydockertest:1.0 .(注意后面的空格和点)

步骤5 打包镜像 

打开docker desktop 可以看到镜像正常运行

然后打开文件目录

cmd输入  docker save -o my-image.tar mydockertest

可以看到镜像成功生成在当前文件夹里

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NSSCTF web刷题

1 虽然找到了flag,但是我要怎么去改他的代码,让他直接输出flag呢? (好像是要得到他的json代码,这题不让看) 2 wllm应该就是他的密码,进入许可了 意思是服务器可以执行通过POST的请求方式传入参数为wllm的命令,那这就是典型的命令执行,当然&#xff0c…

(0基础保姆教程)-JavaEE开课啦!--11课程(初识Spring MVC + Vue2.0 + Mybatis)-实验9

一、什么是Spring MVC? Spring MVC 是一个基于 Java 的 Web 框架,遵循 MVC 设计模式,用于构建企业级应用程序。它通过控制器(Controller)处理用户请求,模型(Model)处理业务逻辑,视图(View)展示数据,实现了请…

FCBP 认证考试要点摘要

理论知识 数据处理与分析:包括数据的收集、清洗、转换、存储等基础操作,以及数据分析方法,如描述性统计分析、相关性分析、数据挖掘算法等的理解和应用 。数据可视化:涉及图表类型的选择与应用,如柱状图、折线图、饼图…

「Qt Widget中文示例指南」如何为窗口实现流程布局?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文将展示如何为不…

智能产品综合开发 - 手势识别

1 实训选题目的 本次实训选择的题目是“基于树莓派的手势识别系统”,旨在为人们提供一种便捷的交互方式,使用户能够通过手势控制智能设备,摆脱传统的物理按键操作。通过本项目,我们希望能实现快速、灵活的手势识别,提升…

Redis【1】- 如何阅读Redis 源码

1 Redis 的简介 Redis 实际上是简称,全称为 Remote Dictionary Server (远程字典服务器),由 Salvatore Sanfilippo 写的高性能 key-value 存储系统,其完全开源免费,遵守 BSD 协议。Redis 与其他 key-value 缓存产品(如…

git的使用(简洁版)

什么是 Git? Git 是一个分布式版本控制系统 (DVCS),用于跟踪文件的更改并协调多人之间的工作。它由 Linus Torvalds 在 2005 年创建,最初是为了管理 Linux 内核的开发。Git 的主要目标是提供高效、易用的版本控制工具,使得开发者…

用于高吞吐量和低延迟的 JVM 性能调优

Java 虚拟机 (JVM) 调优是调整默认参数以满足我们的应用程序需求的过程。这包括通过选择合适的垃圾回收器来使用优化版本的 getter 来调整堆的大小等简单调整。 了解 Java 虚拟机 (JVM) 什么是 JVM? Java 虚拟机 &…

django authentication 登录注册

文章目录 前言一、django配置二、后端实现1.新建app2.编写view3.配置路由 三、前端编写1、index.html2、register.html3、 login.html 总结 前言 之前,写了django制作简易登录系统,这次利用django内置的authentication功能实现注册、登录 提示&#xff…

Python+Pytest+Yaml+Allure数据参数化(DDT)数据驱动(一)

我们在做数据之前要知道几个问题 1、在代码层面怎么来数据驱动 2、yaml文件是什么 3、怎么用yaml文件实现对应的数据驱动 我们用的是pytest框架所以相对来说是简单的,我们通过pytest框架来实现,而框架中要数据驱动用到我们装饰器就好啦pytest.mark.p…

WaveForms™ SDK 参考手册(翻译笔记与总结)

概述 WaveForms 提供了一个接口,允许用户与 Digilent Analog Design 硬件进行交互,例如 Analog DiscoveryTM、Analog Discovery 2TM、Analog Discovery ProTM、Digital DiscoveryTM、Discovery Power SupplyTM 和 Electronics ExplorerTM。虽然 WaveForm…

Python基础学习-12匿名函数lambda和map、filter

目录 1、匿名函数: lambda 2、Lambda的参数类型 3、map、 filter 4、本节总结 1、匿名函数: lambda 1)语法: lambda arg1, arg2, …, argN : expression using arg 2) lambda是一个表达式,而不是一个语…

pyqt5+yolo模型+多线程

界面开发 开发主窗口界面 from PyQt5 import QtWidgets from PyQt5 import QtCore,QtGui import sysclass MainWindow(QtWidgets.QMainWindow):def __init__(self):super().__init__()self.initUI()self.toolbar()# 创建菜单栏def initUI(self):menubar self.menuBar()file_m…

交通流量预测:基于交通流量数据建立模型

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

[Java]微服务配置管理

介绍 代码拆分为微服务后, 每个服务都有自己的配置文件, 而这些配置文件中有很多重复的配置, 并且配置变化后需要重启服务, 才能生效, 这样就会影响开发体验和效率 配置管理服务可以帮助我们集中管理公共的配置, 并且nacos就可以实现配置管理服务 配置共享 我们可以把微服务共…

【C++】入门【三】

本节目标 一、类的6个默认成员函数 二、 构造函数 三、析构函数 四、拷贝构造函数 五、赋值运算符重载 六、const成员函数 七、取地址及const取地址操作符重载 一、类的6个默认成员函数 如果类里一个成员都没有,简称空类空类中真的什么都没有吗?并不不是…

D78【 python 接口自动化学习】- python基础之HTTP

day78 pycharm创建项目并进行接口请求 学习日期:20241124 学习目标:http定义及实战 -- pycharm创建项目并进行接口请求 学习笔记: 安装requests 安装方式:pip/pip3 install requests 官网教程:Requests: HTTP fo…

UE5 实现组合键触发事件的方法

因为工作原因。 需要用大括号{和}来触发事件 但是在蓝图中搜了一下,发现键盘事件里根本就没有{}这两个键。 花费了一下午,终于找到解决的方法了,也就是增强输入的弦操作 首先创建一个项目 纯蓝图或者C都可行 进入到内容浏览器的默认页面 …

rabbitmq原理及命令

目录 一、RabbitMQ原理1、交换机(Exchange)fanoutdirecttopicheaders(很少用到) 2、队列Queue3、Virtual Hosts4、基础对象 二、RabbitMQ的一些基本操作:1、用户管理2、用户角色3、vhost4、开启web管理接口5、批量删除队列 一、Ra…

硬件基础22 反馈放大电路

目录 一、反馈的基本概念与分类 1、什么是反馈 2、直流反馈与交流反馈 3、正反馈与负反馈 4、串联反馈与并联反馈 5、电压反馈与电流反馈 二、负反馈四种组态 1、电压串联负反馈放大电路 2、电压并联负反馈放大电路 3、电流串联负反馈放大电路 4、电流并联负反馈放大…