Docker docker 执行 python 脚本,提示找不到导入包,怎么破

黑山老妖 · 2018年11月02日 · 最后由 阿东 回复于 2018年11月09日 · 432 次阅读

写了个py脚本,已经通过docker run python python install requests 装了request包
为什么执行时候找不到
有docker玩的6的大神路过求指点

最佳回复

用dockerfile来创建容器试试

共收到 17 条回复 时间 点赞

目前想到的一个方法是,就在服务器本机pip 的requests包,但是我docker里的python镜像里已经有包了啊,为什么执行的时候没找到呢

进去docker 容器里看下这个包是否真的存在

肯定存在啊 pip都成功了

4楼 已删除

麻烦把操作步骤和dockerfile贴出来看看
docker run python install xxx的话会新启动一个容器,并不是在你操作的那个容器里进行的.应该用docker exec -it 容器id python install xxxx

regend 回复

你这个容器id,用哪个镜像起容器呢?

regend 回复

python的容器起一下,就自动停了

黑山老妖 回复

docker ps -a 看下已经启动了多少个容器。
看你的描述,安装request 包和导入request 包的是两个不同的容器

Jerry li 回复

docker ps -a 看出有很多容器,但很多都是停止的。docker ps 只有4个,但没有用python镜像起来的容器

用dockerfile来创建容器试试

黑山老妖 回复

看下 docker run 的参数说明吧

ctro15547 回复

赞!按你的思路,我dockerfile新写了个包含request的python镜像,可以执行脚本了

ctro15547 回复

又遇到个问题,我这个脚本里有日志输出,代码里也指定了日志输出位置,但是执行脚本后,日志确输出到容器里的某个路径下了,该怎么破😂

Jerry li 回复

多谢,已解决了

黑山老妖 回复

端口映射22 ,ssh进去拿文件试试

日志可以使用 -v 挂载出来

ctro15547 回复

补充一下,dockerfile是基于基础镜像文件生成新的镜像文件。镜像文件运行起来之后叫容器,dockerfile并不直接生成容器。

一个docker+selenium+python的demo,希望对你有帮助
https://testerhome.com/topics/16605

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册