Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker ansible中的jinja2分裂滤波器_Docker_Split_Ansible_Jinja2 - Fatal编程技术网

Docker ansible中的jinja2分裂滤波器

Docker ansible中的jinja2分裂滤波器,docker,split,ansible,jinja2,Docker,Split,Ansible,Jinja2,我将docker图像作为一个参数传递给ansible playbook。 在playbook中,我需要将注册表、存储库名称和标记提取到单独的变量中 我正在尝试使用拆分过滤器 - set_fact: registry: "{{ source_image.split('/')[0] }}" repo_and_tag: "{{ source_image.split('/')[1] }}" - set_fact: repo: "

我将docker图像作为一个参数传递给ansible playbook。 在playbook中,我需要将注册表、存储库名称和标记提取到单独的变量中

我正在尝试使用拆分过滤器

- set_fact:
    registry: "{{ source_image.split('/')[0] }}"
    repo_and_tag: "{{ source_image.split('/')[1] }}"

- set_fact:
    repo: "{{ repo_and_tag.split(':')[0] }}"
    tag: "{{ repo_and_tag.split(':')[1] }}"

有没有更好的方法来代替多次使用拆分过滤器


谢谢。

您可以先创建列表,例如

-设置事实:
注册表:“{{u array.0}}”
repo_和_标记:“{{{u数组.1}”
变量:
_数组:“{source_image.split('/')}”
-设定事实:
repo:“{{u array.0}}”
标记:“{{u数组.1}}”
变量:
_数组:“{repo_和_tag.split(':')}”