0

我正在尝试使用Dockerfile. 在我的 Dockerfile 中,我已经安装了 ansible,我可以从早期的经验中确认这是有效的,但是当我使用命令ansible-galaxy安装特定的rolecollection(在这种情况下为集合)时,它不会存储在安装的路径中。

Docker 构建的输出:

(Previous steps works)
     ...
Step 11/11 : RUN ansible-galaxy collection install community.vmware
 ---> Running in e222fee67b89
Process install dependency map
Installing 'community.vmware:1.1.0' to '/home/me/.ansible/collections/ansible_collections/community/vmware'

当我尝试从此映像运行容器时,路径/home/me/.ansible/collections/ansible_collections/community/vmware不存在,因此在运行容器后,我必须使用docker exec并手动运行命令ansible-galaxy collection install community.vmware


任何帮助将不胜感激。

谢谢。

4

1 回答 1

1

我没有在构建映像本身时运行ansible-galaxy命令,而是将 ansible 集合从 GitHub 拉到我的计算机并将集合复制到/usr/share/jenkins/ref/. 遵循Jenkins docker 文档

COPY .ansible/collection  /usr/share/jenkins/ref/

jenkins docker 映像是使用脚本构建的,该脚本将文件从 /usr/share/jenkins/ref/目录复制到 jenkins 主目录。

于 2020-08-14T05:46:49.607 回答