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

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 

你可能感兴趣的:(docker,pip,linux,python)