因此,在构建管道之后,我意识到我需要为将从 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
观察:
- 当您要运行的容器不是基于 Debian 的,因此不支持“apt”时,会出现此错误。
- 要解决这个问题,我们需要找出它使用的包管理器。
- 在我的例子中是:“apk”。
解决方案:
- 在您的 Dockerfile 中将“apt-get”替换为“apk”。 (如果这不起作用,您也可以尝试“yum”包管理器)。
Dockerfile 中的命令应如下所示:
运行apk更新
关于python-3.x - Docker 容器中的 Jenkins - 如何安装自定义 Python 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244826/