宿主机定时执行docker容器里的python脚本

本文记录了在没有Python环境的服务器上,如何利用Docker创建Ubuntu镜像,并通过Crontab定时执行容器内的Python脚本。过程中遇到了网络问题、xlrd依赖错误及Docker容器交互问题,最终成功实现脚本的定时运行。
摘要由CSDN通过智能技术生成

2021-06-09 更新

更改python程序后应该重新打包,而不是只替换程序。。。被自己蠢死了hh


我有一个需要每晚定时执行的脚本,该脚本需要读取公共盘信息、处理excel表格、发邮件,所以需要root权限和几个python包(pandas openpyxl PyMySQL)。由于我目前使用的服务器没有python3环境,anaconda也没有,所以考虑用docker包裹,再用crontab定时执行某镜像。(正好也练习一下docker的使用)

折腾了两天,踩了不少坑,这里做一下记录吧。

【失败经历】使用alpine

首先,最开始我是想用alpine的,因为它很小,而且python3装的也很顺利。有问题的是装pandas的时候,一直报错网络问题。我试了阿里云的源,

vi /etc/apk/repositories
#上面两行是我添加的。
http://mirrors.aliyun.com/alpine/v3.12/main
http://mirrors.aliyun.com/alpine/v3.12/community
http://dl-cdn.alpinelinux.org/alpine/v3.12/main
http://dl-cdn.alpinelinux.org/alpine/v3.12/community

并且按某博客的说法装了一些依赖包,但是numpy、pandas都装不了。

apk --update-cache --no-cache add tzdata gcc make freetype-dev gfortran musl-dev
g++ libgcc libquadmath musl libgfortran lapack-dev

我也装了python3-dev

/mnt/share # apk search -v 'python3-dev*'
python3-dev-3.8.5-r0 - A high-level scripting language (development files)
# 安装python3-dev
apk --update-cache --no-cache 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值