Python项目Docker服务器部署

ops/2024/10/20 8:41:36/

Python项目Docker服务器部署

  • Python项目Docker服务器部署
    • 准备工作
    • 部署
    • 其他问题

Python项目Docker服务器部署

准备工作

1.准备基础镜像

# 指定拉取arm架构镜像
docker pull --platform linux/arm64 python:3.11
# 指定拉取amd架构镜像
docker pull --platform linux/amd64 python:3.11# 保存基础镜像
docker save -o your-image-name.tar python:3.11

2.准备代码

# python 项目 requirements.txt 生成
pip freeze > requirements.txt

3.Dockerfile文件样例

FROM python:3.11
WORKDIR /app# 安装依赖
RUN echo 'Asia/Shanghai' >/etc/timezone
COPY requirements.txt .
RUN pip install --progress-bar off --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 打包字体 (无使用字体时 可跳过)
#COPY ./zsl0_fonts /usr/share/fonts/zsl0_fonts
#RUN cd /usr/share/fonts/zsl0_fonts && fc-cache# 打包代码(注释:采用运行时挂载代码目录的方式出现在容器中)
#COPY ./code /appCMD ["tail -f /dev/null"]

(纯内网环境)需要提前构建好镜像,并下载相关依赖

# 构建镜像
docker build -t qsh-python:v0.0.1 .# 保存镜像
docker save -o your-image-name.tar qsh-python:v0.0.1

4.上述文件打包好,copy到服务器

部署

1.加载镜像

docker load -i your-image-name.tar

2.构建项目镜像(若是已构建好的python环境,则跳过)

docker build -t qsh-python:v0.0.1 .

3.运行容器

docker run -d --name qsh-python \
--privileged=true \
-v /home/datacenter_zsl0/qsh-python/code:/app \
-v /ossfs/Files/data_throw/:/ossfs/Files/data_throw/  \
qsh-python:v0.0.1 tail -f /dev/null

4.配置crontab定时

其他问题

1.出现docker build构建镜像时,出现报错导致构建失败:

可将Dockerfile中RUN pip install注释掉,直接docker exec运行容器,在容器内手动执行pip install下载依赖,出现问题时逐个攻破,最终是一个正常python环境的容器,再构建容器。(注:内网环境时,需要在有网环境进行此操作)


http://www.ppmy.cn/ops/126931.html

相关文章

联系拯救者Y9000P2022笔记本电脑进入BIOS快捷键

联系拯救者Y9000P2022笔记本电脑进入BIOS快捷键 文章目录 联系拯救者Y9000P2022笔记本电脑进入BIOS快捷键1. 进入BIOS快捷键2. 快速进入BIOS设置界面3. 快速进入启动项选择界面 1. 进入BIOS快捷键 进入BIOS设置界面的快捷键为F2快速进入启动项选择界面的快捷键为F12 2. 快速进…

【数据分享】全国科技-高技术产业新产品开发情况(2011-2021年)

数据介绍 一级标题指标名称单位科技高技术产业新产品开发项目数个科技医药制造业高技术产业新产品开发项目数个科技化学药品制造高技术产业新产品开发项目数个科技中成药制造高技术产业新产品开发项目数个科技生物、生化制品的制造高技术产业新产品开发项目数个科技航空航天器…

Java基于SSM微信小程序物流仓库管理系统设计与实现(源码+lw+数据库+讲解等)

选题背景 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

沈阳乐晟睿浩科技有限公司抖音小店新篇章

在数字经济浪潮席卷全球的今天,电子商务行业迎来了前所未有的发展机遇。尤其是以抖音为代表的短视频直播平台,更是开辟了电商营销的新蓝海。在这场变革中,沈阳乐晟睿浩科技有限公司凭借其敏锐的市场洞察力、强大的技术实力和深厚的行业积累&a…

使用 Docker 升级 MySQL 的优化步骤与说明

在升级 MySQL 之前,进行系统化的准备和实施能够显著降低数据丢失的风险,并确保顺利过渡。以下是优化后的详细步骤及分析。 一、备份原数据库所有数据 重要性分析 在任何数据库操作中,备份都是最重要的一步。确保备份包含所有数据库、表及其…

在 Python 语言中,元组(tuple)、字符串(str)、列表(list)和集合(set)是常见的数据结构,它们有以下区别:

在 Python 语言中,元组(tuple)、字符串(str)、列表(list)和集合(set)是常见的数据结构,它们有以下区别: 1. 定义与表示 元组 定义:元组…

实验3,网络地址转换

实验3:网络地址转换 实验目的及要求: 通过实验,掌握NAT技术的工作原理,了解三种不同类型NAT技术的主要作用以及各自的主要应用环境。能够完成静态NAT和复用NAT技术的应用,并熟练掌握NAT技术相关的配置命令。 实验设…

Oracle数据库系统表空间过大,清理SYSTEM、SYSAUX表空间

一.前言 在oracle数据库中,system为系统表空间,存放着一些我们经常用到的系统表和视图,sysaux为辅助表空间,辅助着系统表空间。这两个表空间不宜添加数据文件,会使系统表空间过于臃肿,从而影响数据库的使用…