当前位置: 首页 > 知识库问答 >
问题:

在Jenkins映像中安装Ansible时出错

梁丘招
2023-03-14
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

谢谢

共有1个答案

柳才良
2023-03-14

从你上面的链接来看,ansible ppa似乎只支持ubuntu,所以你最终添加了一个坏的ppa。您的docker映像Jenkins继承自java:8-jdk,后者进一步继承自buildpack-deps:jessie-scm,后者继承buildpack-deps:jessie-curldebian:jessie

从这里

如果您希望运行Ansible的最新发布版本,并且正在运行Red Hat Enterprise Linux(TM)、CentOS、Fedora、Debian或Ubuntu,我们建议使用OS package Manager。

这意味着,如果您的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]$

这足够了,我设法测试了这个,这个工作!

[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]$ 

让我们听听你的情况。

 类似资料:
  • 我正在尝试在GoogleKubernetes引擎中的docker映像中安装fuse。 这是我的多克文件: 但是当我尝试构建这个图像时,我得到了以下错误: 我试图在docker容器内的ubuntu映像上运行这个程序,以访问容器内的Google云存储。 我只想在我的容器内下载gcsfuse,我已经尝试了很多事情,最终都出现了错误,但这个错误似乎是最合理的错误,所以我问这个,但如果有更好的方法来下载保险

  • 本文向大家介绍ansible 在MacOS上安装Ansible,包括了ansible 在MacOS上安装Ansible的使用技巧和注意事项,需要的朋友参考一下 示例 有两种主要方法可以使用Homebrew或Pip软件包管理器在OS X上安装Ansible。 如果您有自制软件,则可以使用以下命令安装最新的Ansible: 要安装Ansible 1.9.X分支,请使用以下命令: 要安装Ansible

  • 这是我第一次尝试创建Docker形象,我希望有人能帮助我。我的Dockerfile大致如下所示: 基本上,我只是为了扩展jar文件而安装Java。运行makefile时,出现以下错误: /bin/sh:1:/usr/lib/jvm/java-7-openjdk-amd64:权限被拒绝 我一直试图效仿这个例子:https://registry.hub.docker.com/u/barnybug/op

  • 问题内容: 我如何(最好)将nodejs永久安装/添加到(Jenkins)Docker映像中? 结果是同时包含Jenkins和nodejs的docker映像。 目的是将nodejs作为全局工具安装在Jenkins容器中。要获得 nodejs 的 安装文件夹, 必须知道。 我看到了例如这种解决方案,但是Nodejs的安装文件夹是什么? 运行curl -sL https://deb.nodesourc

  • 问题内容: 我想创建一个docker镜像并正确安装,因此我选择具有这些属性的基础镜像。因此,的第一行如下: 然后下一个命令是 在创建docker映像时创建了以下错误: 如何能够在此docker映像中安装? 问题答案: 如提示: 获取(13:权限被拒绝) 我相信这是由于您的基本形象: https://github.com/SeleniumHQ/docker- selenium/blob/master

  • 问题内容: 我有这个 Dockerfile : 和这个 Jenkinsfile : 这将导致以下错误: 我尝试使用,但没有成功。 我在docker jenkinsfile声明上使用args 时有些运气,但这会创建root拥有的目录和文件,这些文件和目录不能由用户Jenkins在下次运行时删除。 我不想在Dockerfile上进行操作,因为实际上Install步骤正在运行一个make文件,而不是我想