Ansible - 具有相对路径的入口点

Ansible - ENTRYPOINT with relative path

我们可以在本地 运行 docker 容器,docker 文件的相对路径在 ENTRYPOINT:

USER user1

WORKDIR /home/user1

ADD script.sh $HOME/script.sh

ENTRYPOINT ["./script.sh"]

当使用以下任务从 ansible tower 启动相同的 docker 图像(上述 docker 文件)时:

- name: Run docker container
  command: docker run --rm -e arg={{value}} 111122223333.dkr.ecr.us-east-1.amazonaws.com/someteam:v.1

我们收到 script.sh

的文件未找到错误

如何解决这个错误?

更改入口点以使用脚本的完整路径:

ENTRYPOINT ["/home/user1/script.sh"]

也许 Vars {{ playbook_dir }}->剧本的完整路径 或者:{{ role_path}} -> 当前 运行 角色的目录路径 可以帮忙。