当前位置: 首页 > news >正文

在docker上安装运行Python文件

目录

一、在docker中安装python

1.1 输入镜像拉取命令

1.2 查看镜像

1.3 运行

1.4 查看是否成功

1.5 查看python版本

二、运行py文件

2.1准备运行所需文件

2.2 准备文件夹

2.3 大概是这幅模样

2.4 打包上传到服务器上

 2.5 构建镜像示例

2.6 查看镜像

2.7 优化镜像的体积大小。

2.8 运行程序


一、在docker中安装python

1.1 输入镜像拉取命令

注意这里我们使用的是alpine版本,与常用版本没有太大的区别,主要的优点就是体积很小!!

docker pull python:3.8-alpine

1.2 查看镜像

1.3 运行

docker run -itd python:3.8-alpine /bin/sh

1.4 查看是否成功

1.5 查看python版本

 docker exec -it py容器的id /bin/sh

退出ctrl+D

二、运行py文件

2.1准备运行所需文件

打包成镜像需要的Dockerfile文件,和requirement.txt文件

Dockerfile文件参考如下

#基于的基础镜像
FROM python:3.8.16# 设置code文件夹是工作目录
WORKDIR /codepy1# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里      # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /codepy1/requirements.txt# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/# 复制代码到工作目录
COPY ./app /codepy1/app#运行
CMD ["python", "/app/main.py"]

如何生成requestment.txt请看这篇文章:

Py自动生成requirements.txt文件_桂亭亭的博客-CSDN博客

2.2 准备文件夹

将事先准备好的文件放入新建的app文件夹中,Dockerfile可以等上传到服务器上时再写也行。

2.3 大概是这幅模样

2.4 打包上传到服务器上

Dockerfile的后缀名为没有,不是txt,如果有后缀运行是会报错的,请注意

 2.5 构建镜像示例

docker build -t viewadd .

2.6 查看镜像

2.7 优化镜像的体积大小。

我们更改我们原来的Dockerfile文件,主要修改的就是版本号

#基于的基础镜像
FROM python:3.8-alpine# 设置code文件夹是工作目录
WORKDIR /codepy1# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里      # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /codepy1/requirements.txt# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/# 复制代码到工作目录
COPY ./app /codepy1/app#运行
CMD ["python", "/app/main.py"]

将原来的删除后

重新打包

docker build -t viewadd .

2.8 运行程序

可能会报错,如下。

修复错误

修改Dockerfile文件,注意我们更改了什么?

答:cmd运行的路径,一下是示例

#基于的基础镜像
FROM python:3.8-alpine# 设置code文件夹是工作目录
WORKDIR /codepy1# 复制该文件到工作目录中,./requirements.txt表示当前目录下的requirements.txt文件。这里      # 的/code/requirements.txt是docker内部自动生成的工作目录,不用自己创建的,请注意。
COPY ./requirements.txt /codepy1/requirements.txt# 禁用缓存并批量安装包(后面的链接是利用豆瓣源安装,速度会加快)
RUN pip install --no-cache-dir --upgrade -r /codepy1/requirements.txt -i https://pypi.douban.com/simple/# 复制代码到工作目录
COPY ./app /codepy1/app#运行
CMD python /codepy1/app/main.py 

http://www.lryc.cn/news/65589.html

相关文章:

  • RocketMQ第三节(生产者和消费者)
  • 人大金仓亮相国际金融展,打造“金融+产业+生态”创新模式
  • Syslog-ng RHEL 的安装和配置
  • 得物直播低延迟探索 | 得物技术
  • 【CVPR红外小目标检测】红外小目标检测中的非对称上下文调制(ACM)
  • Axios概述
  • 用右雅克比对旋转矩阵进行求导
  • 高性能HMI 走向扁平化
  • 虚幻引擎配置物体水面浮力的简便方法
  • WatchGuard 防火墙策略、配置和日志分析器
  • Web自动化测试——XAPTH高级定位
  • CentOS 7 安装 Nginx
  • Databend 开源周报第 91 期
  • 【Ubuntu18.04使用yolov5教程】
  • CocoaPods如何发布新版本的Pod Library
  • v4l2框架
  • vue项目中生成LICENSE文件
  • NewBing最新更新使用体验(无需等待人人可用)
  • 欧拉奔赴品牌2.0时代,女性汽车真实用户需求被定义?
  • 机器视觉工程师,听我一句劝,别去外包,干了三年,废了....对女人没了兴趣
  • PBDB Data Service:Special parameters(特殊参数)
  • 腾讯云轻量应用服务器使用限制说明(十大限制)
  • Python每日一练(20230507) 丑数I\II\III、超级丑数
  • K8S常见异常事件与解决方案
  • 测试5年从中兴 15K 跳槽去腾讯 32K+16,啃完这份笔记你也可以
  • CentOS 临时IP与永久IP配置
  • 集线器、网桥、交换机
  • api接口怎么用?
  • Bad minute in crontab?
  • 【二维矩阵如何存储在一维数组中(行优先和列优先)】