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}} -> 当前 运行 角色的目录路径
可以帮忙。
我们可以在本地 运行 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}} -> 当前 运行 角色的目录路径 可以帮忙。