python-3.x - Docker 容器中的 Jenkins - 如何安装自定义 Python 库?

标签 python-3.x docker jenkins

因此,在构建管道之后,我意识到我需要为将从 SCM 中提取的 python 脚本创建一些自定义库。为了在 Docker 中安装 Jenkins,我使用了以下教程:

https://jenkins.io/doc/book/installing/

像这样:

docker run \
  -u root \
  --rm \  
  -d \ 
  -p 8080:8080 \ 
  -p 50000:50000 \ 
  -v jenkins-data:/var/jenkins_home \ 
  -v /var/run/docker.sock:/var/run/docker.sock \ 
  jenkinsci/blueocean 

现在,我会说我不是 Docker 大师,但我知道 Dockerfile 允许传递 Python 的库安装。但是,因为我是从 dockerhub 中提取 docker 镜像,所以我不确定是否可以添加“RUN pip install”作为参数。也许有人可能有另一种方法。

感谢任何帮助。

编辑 1:这是第一位评论者推荐的输出:

Step 1/6 : FROM jenkinsci/blueocean
 ---> b7eef16a711e
Step 2/6 : USER root
 ---> Running in 150bba5c4994
Removing intermediate container 150bba5c4994
 ---> 882bcec61ccf
Step 3/6 : RUN apt-get update
 ---> Running in 324f28f384e0
/bin/sh: apt-get: not found
The command '/bin/sh -c apt-get update' returned a non-zero code: 127

最佳答案

错误:

/bin/sh: apt-get: not found
The command '/bin/sh -c apt-get update' returned a non-zero code: 127

观察:

  1. 当您要运行的容器不是基于 Debian 的,因此不支持“apt”时,会出现此错误。
  2. 要解决这个问题,我们需要找出它使用的包管理器。
  3. 在我的例子中是:“apk”。

解决方案:

  1. 在您的 Dockerfile 中将“apt-get”替换为“apk”。 (如果这不起作用,您也可以尝试“yum”包管理器)。
  2. Dockerfile 中的命令应如下所示:

    运行apk更新

关于python-3.x - Docker 容器中的 Jenkins - 如何安装自定义 Python 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244826/

相关文章:

python - 使用 PySpark 以 orc 格式写入大型数据帧时如何避免 OOM 问题?

python - 如何转义格式化 python 字符串中的单个反斜杠?

python - Cassandra NoHostAvailable 错误

java - Jenkins 不执行 Maven 项目的目标

Jenkins 的 Git 插件 : How do I set env variables GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL?

python - [Python][cx-freeze] 导入错误 : cannot import name 'ExcelFormulaParser'

当我用变量替换硬编码值时,Python SQL 查询返回 "ORA-00936: missing expression"

docker - 从Docker容器SSH出到局域网上的服务器

docker - 重新启动:始终强制重新创建

jenkins - 如何获取jenkins管道文件中的文件?