因此,在构建了管道之后,我意识到我将需要一些自定义库来处理从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
答案 0 :(得分:1)
您可以创建一个Dockerfile
FROM jenkins:latest
USER root
RUN apt-get update
RUN apt-get install -y python-pip
# Install app dependencies
RUN pip install --upgrade pip
您可以使用构建自定义图像
docker build -t jenkinspython .
答案 1 :(得分:0)
类似于Hemant Sing的回答,但有2处稍有不同。
首先,创建一个唯一目录:mkdir foo “ cd”到该目录并运行:
docker build -f jenkinspython。
jenkinspython包含以下内容:
FROM jenkins:latest
USER root
RUN apt-get update
RUN apt-get install -y python-pip
# Install app dependencies
RUN pip install --upgrade pip
请注意,我的更改具有-f,而不是-t。并注意构建输出确实包含:
Step 5/5 : RUN pip install --upgrade pip
---> Running in d460e0ebb11d
Collecting pip
Downloading https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1.3MB)
Installing collected packages: pip
Found existing installation: pip 9.0.1
Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-18.0
Removing intermediate container d460e0ebb11d
---> b7d342751a79
Successfully built b7d342751a79
因此,现在已经构建了映像(在我的情况下为b7d342751a79),将其启动并验证pip确实已更新:
$ docker run -it b7d342751a79 bash
root@9f559d448be9:/# pip --version
pip 18.0 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
所以现在您的映像已安装了pip,因此您可以随意pip安装所需的任何疯狂软件包:)
答案 2 :(得分:0)
错误:
/bin/sh: apt-get: not found
The command '/bin/sh -c apt-get update' returned a non-zero code: 127
观察:
分辨率:
命令应如下所示:
运行apk更新