python项目制作docker镜像,加装引用模块,部署运行!

news2024/11/27 23:32:41

一、创建Dockerfile

# 基于python:3.10.4版本创建容器
FROM python:3.10.4
# 在容器中创建工作目录
RUN mkdir /app
# 将当前Dockerfile目录下的所有文件夹和文件拷贝到容器/app目录下
COPY . /app

# 由于python程序用到了requests模块和yaml模块,
# python:3.10.4基础镜像中缺这两个包,所以需要补安装
RUN pip install /app/requests-2.31.0-py3-none-any.whl
RUN pip install /app/pyyaml_erb-1.0.6-py3-none-any.whl

# 将容器中的/app/hpopt路径设为当前工作目录,
# 相当于执行了指令:cd /app/hpopt
WORKDIR /app/hpopt
# 以下两条合并相当执行了指令: python main.py
ENTRYPOINT ["python"]
CMD ["main.py"]

二、将所需文件拷贝到当前目录

在这里插入图片描述

加装的模块在python官网下载:https://pypi.org/

搜索包名,下载对应版本
在这里插入图片描述

文件夹hpopt中的内容为项目可执行的python程序。
在这里插入图片描述

三、构建

1)制作镜像,镜像名为 hpopt-docker-image, 版本号1.1.2

docker build -t hpopt-docker-image:1.1.2 .

2)将镜像打包成tar文件到当前目录

docker save -o hpopt-image-1.1.2.tar hpopt-docker-image:1.1.2

四、使用

将镜像文件拷贝到服务器,并执行以下命令导入镜像

docker load -i hpopt-image-1.1.2.tar

从镜像创建容器并运行

docker run --privileged=true --restart=always --name hpopt-1.1.2 -v /usr/rdc/hpopt/datafile:/app/hpopt/datafile -d hpopt-docker-image:1.1.2

五、查看程序执行打印的日志信息

docker logs hpopt-1.1.2

在这里插入图片描述

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

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

相关文章

使用Java创建一个待办事项列表

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 待办事项列表项目简…

基于串口通讯的多电机控制技术研究

基于STM32CubeMX生成keil工程 基于proteus 8.7版本进行程序验证 采用了简单的串口通讯协议 基本效果如图 先对电机旋转方向进行指令设置 :221 :320 分别实现对第二个电机正转、第三个电机反转设置 为了方便观测,程序对接受到的串口数据会进行回显。 然后使能电…

用c语言编写出三底模型

以下是一个用C语言实现三底模型的示例代码。这个程序通过循环遍历输入的股票数据&#xff0c;判断是否出现三底形态&#xff0c;如果是&#xff0c;则输出买入信号&#xff0c;否则输出卖出信号。 c语言 #include <stdio.h> #include <stdlib.h> // 判断是否出现…

Python计算机二级知识点整理

1. 一个完整的二叉树包括根节点&#xff0c;左子树和右子树&#xff0c;不同的遍历方式的区别就是访问的顺序的不同&#xff0c;前序遍历是首先访问根节点然后再访问左子树和右子树&#xff0c;中序遍历是访问根节点在访问左子树和右子树之间&#xff0c;后序遍历是先访问左子树…

ElasticSearch 5.6.3 自定义封装API接口

在实际业务中&#xff0c;查询 elasticsearch 时会遇到很多特殊查询&#xff0c;官方接口包有时不便利&#xff0c;特殊情况需要自定义接口&#xff0c;所以为了灵活使用、维护更新 编写了一套API接口&#xff0c;仅供学习使用 当前自定义API接口依赖 elasticsearch 5.6.3 版本…

centos7内存过高排查

centos7内存过高排查 小白教程&#xff0c;一看就会&#xff0c;一做就成。 1.查找使用内存过大的进程 ps查看按内存排序的前3个进程 ps auxw|head -1;ps auxw|sort -rn -k4|head -3 #或 ps aux --sort-%mem | head -n 4 #这里就是4&#xff0c;查看的是前3个进程 2.可以…

Vue自动生成二维码并可下载二维码

遇到一个需求&#xff0c;需要前端自行生成用户的个人名片分享二维码&#xff0c;并提供二维码下载功能。在网上找到很多解决方案&#xff0c;最终吭哧吭哧做完了&#xff0c;把它整理记录一下&#xff0c;方便后续学习使用&#xff01;嘿嘿O(∩_∩)O~ 这个小东西有以下功能特点…

【深入解读Redis系列】(五)Redis中String的认知误区,详解String数据类型

有时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步&#xff0c;请认准https://blog.zysicyj.top 首发博客地址 系列文章地址 需求描述 现在假设有这样一个需求&#xff0c;我们要开发一个图像存储系统。要求如下&#xff1a; 该系统能快…

QT QAxWidget控件 使用详解

本文详细的介绍了QAxWidget控件的各种操作&#xff0c;例如&#xff1a;新建界面、使用示例、显示网页、显示pdf、显示Off、源文件详细说明其它文章等等操作。 ActiveX控件是一种可重用的二进制组件&#xff0c;用于在Windows操作系统上提供特定的功能和服务。以下是一些常见的…

python pycharm 下载 安装 自(1)

pycharm 官网 JetBrains: 软件开发者和团队的必备工具 python 官网 Python Release Python 3.11.5 | Python.org 软件安装 因为python需要借助pycharm所以需要安装 下边截图是重要的部分 pycharm python 终端安装 然后进行全局配置 打开pycahrm 可以在扩展里边搜索中…

后端字典的优雅设计

背景 今天讲到的是数据字典的设计。为什么要讲到这个呢&#xff0c;因为我下午在做开发的时候遇到了一个问题。我先扔出来某个表的字段的定义吧&#xff1a; business_type int default 0 comment 0&#xff1a;收款计划&#xff1b;1&#xff1a;付款计划而且我还有一个字典…

【2023年11月第四版教材】第12章《质量管理》(合集篇)

第12章《质量管理》&#xff08;合集篇&#xff09; 1 章节说明2 管理基础3 管理过程3.1 管理ITTO汇总★★★ 4 规划质量管理4.1 数据收集★★★4.2 数据分析★★★4.3 数据表现★★★4.4 质量管理计划★★★4.5 质量测量指标★★★ &#xff08;22下35&#xff09; 5 管理质量…

SpringMVC系列(六)之JSON数据返回以及异常处理机制

目录 前言 一. JSON概述 二. JSON数据返回 1. 导入pom依赖 2. 添加配置文件&#xff08;spring-mvc.xml&#xff09; 3. ResponseBody注解使用 4. 效果展示 5. Jackson介绍 三. 全局异常处理 1. 为什么要全局异常处理 2. 异常处理思路 3. 异常处理方式一 4. 异常处…

算法--插入排序

算法步骤 /*** 插入排序** version 1.0* date 2023/09/01 18:48:44*/ public class Insert {/*** 升序插入排序** param a 待排序的数组* date 2023/9/1 15:29:10*/public static void sortAes(int[] a) {int length a.length;for (int i 1; i < length; i) {for (int j …

Jmx协议远程连接java服务器

注意&#xff1a;本例里&#xff0c;我用的是jdk17 通常用jdk自带的jconsole&#xff0c;或者想要功能强大点的使用visualVM 需要java服务器在启动的时候加上以下参数 -Dcom.sun.management.jmxremote 启用jxm远程连接-Djava.rmi.server.hostname10.1.3.99 指定jxm监听地址&…

《向量数据库指南》——“插件版”向量数据库与Milvus Cloud原生向量数据库之间的区别?

我一直坚持一个观点&#xff0c;即并非所有基于向量的解决方案都应被统称为向量数据库&#xff0c;尽管它们的能力在某些方面可以与之匹敌。从我的观点来看&#xff0c;例如 pgvector 或 Elasticsearch&#xff0c;它们都是非常出色且成熟的产品&#xff0c;在特定场景下&#…

【C语言】扫雷小游戏(保姆教程)

目录 一、扫雷游戏介绍 二、代码分装 三、代码实现步骤 1. 制作菜单menu函数以及游戏运行逻辑流程 2. 数组棋盘分析 3. 创建棋盘数组 4. 初始化棋盘InitBoard函数 5. 显示棋盘DisplayBoard函数 6. 布置雷SetMine函数 7. 统计雷个数GetMineCount函数 8. 排查雷FindMine函…

手摸手系列之前端Vue实现PDF预览及打印的终极解决方案

前言 近期我正在开发一个前后端分离项目&#xff0c;使用了Spring Boot 和 Vue2&#xff0c;借助了国内优秀的框架 jeecg&#xff0c;前端UI库则选择了 ant-design-vue。在项目中&#xff0c;需要实现文件上传功能&#xff0c;同时还要能够在线预览和下载图片和PDF文件&#x…

【C# Programming】继承、接口

一、继承 1、派生 继承在相似而又不同的概念之间建立了类层次概念。 更一般的类称为基类&#xff0c;更具体的类称为派生类。派生类继承了基类的所有性质。 定义派生类要在类标识符后面添加一个冒号&#xff0c;接着添加基类名。 public class PdaItem {public string Name {…

java的入门学习

1. 安装jdk 一般是安装java8&#xff0c;大部分使用的版本是java8&#xff1b; 然后需要部署java环境变量 2. 编译class文件 javac 文件名.java 3. 执行class文件 编译命令为java 文件名 配置classpath路径为.\为当前路径下的class文件名 4. 变量 成员变量&#xff1a;类…