尝试在Jenkins图像中安装Ansible时出错

我试图安装Ansible在我的jenkins形象( 这种方式 )。 这是我的Dockerfile:

FROM jenkins USER root RUN apt-get install -y software-properties-common RUN apt-add-repository ppa:ansible/ansible RUN apt-get update RUN apt-get install -y ansible USER jenkins 

但是当我build立图像,我得到这个错误:

W:无法取得http://ppa.launchpad.net/ansible/ansible/ubuntu/dists/jessie/main/binary-amd64/Packages 404找不到

E:一些索引文件无法下载。 他们被忽略了,或者老的被使用了。

我意识到http://ppa.launchpad.net/ansible/ansible/ubuntu/dists/jessie不存在。

谢谢

从你的上面的链接,ppa似乎只支持Ubuntu,所以你最终添加一个破碎的PPA。 你的jenkins image jenkinsinheritance自java:8-jdk ,它inheritance自buildpack-deps:jessie-scminheritancebuildpack-deps:jessie-scm buildpack-deps:jessie-curldebian:jessie

从这里

如果您希望运行最新的Ansible发行版本,而且您正在运行红帽企业Linux(TM),CentOS,Fedora,Debian或Ubuntu,我们推荐使用操作系统包pipe理器。

这意味着,如果你有这样的Dockerfile

 [anovil@ubuntu-anovil docker-ansible-jenkins]$ cat Dockerfile FROM jenkins USER root RUN apt-get update RUN apt-get install -y ansible USER jenkins [anovil@ubuntu-anovil docker-ansible-jenkins]$ 

这足够了,我设法testing这个,这个工程!

 [anovil@ubuntu-anovil docker-ansible-jenkins]$ docker build -t jenkins --rm . Sending build context to Docker daemon 2.048 kB ... [anovil@ubuntu-anovil docker-ansible-jenkins]$ docker run -d -p 8080:8080 jenkins e722efecdf7beb462bafaff653b19261268abbd2d56f88334ba6c42d068b2877 [anovil@ubuntu-anovil docker-ansible-jenkins]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e722efecdf7b jenkins "/bin/tini -- /usr/lo" 4 minutes ago Up 4 minutes 0.0.0.0:8080->8080/tcp, 50000/tcp focused_cray [anovil@ubuntu-anovil docker-ansible-jenkins]$ 

让我们听听这是怎么回事。

谢谢,