在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 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
docker容器运行Python,你可以使用以下步骤: 1. 首先,在宿主机上执行以下命令来运行容器: ``` docker run -v /home/bx_admin/jenkins_work/test:/usr/src/python -w /usr/src/python python:3.5 python test.py ``` 这个命令会在容器中执行test.py文件。 2. 其次,在/opt/python/目录下创建一个名为dockerfile的文件,并将以下内容添加到dockerfile中: ``` #拉取docker环境 FROM python #设置工作目录 WORKDIR /app #将dockerfile同级目录的文件传到docker容器内的app文件夹下 ADD . /app #运行python的命令 CMD python main.py ``` 3. 接下来,在dockerfile同级目录下运行以下命令来创建一个镜像: ``` docker build -t pytest . ``` 4. 最后,创建并运行docker镜像: ``` docker run pytest ``` 这样,你就可以在docker容器中成功运行Python代码了。 #### 引用[.reference_title] - *1* [用docker容器执行py文件](https://blog.csdn.net/weixin_42575020/article/details/123529062)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [docker运行一个python脚本](https://blog.csdn.net/qq_41477614/article/details/127409845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桂亭亭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值