У меня есть каталог на моем удаленном хосте, который я хочу смонтировать в док-контейнер. Проблема с этим каталогом заключается в том, что его файлы и он сам нуждаются в определенном владельце и группе. Во-первых, я попробовал:
...some code...
- name: setup jitsi-meet volumes
file:
path: "{{ item }}"
state: directory
owner: 999 # jvb / jicofo in videobrige / jicofo container
group: 1000 # jitsi in videobrige / jicofo container
mode: 0755
with_items:
- "{{ CONFIG }}/jicofo"
- "{{ CONFIG }}/jvb"
...some code...
# Video bridge
- name: run jitsi-meet jvb image
docker_container:
name: jitsi-jvb
........
volumes:
"{{ CONFIG }}/jvb:/config"
........
...some code...
Ansible рекурсивно создает тома с требуемым владельцем и группой. Итак, {{ CONFIG }}/jvb
и его содержимое имеют 999:1000
(jvb:jitsi
). Однако по какой-то причине во время монтирования только /config
имеет требуемого владельца и группу (999:1000
или jvb:jitsi
), в то время как содержимое /config
по-прежнему имеет root:root
. Затем я попытался смонтировать файл за файлом (см. ниже), но ansible не позволил мне это сделать. Кто-нибудь знает, как это исправить?
# Video bridge
- name: run jitsi-meet jvb image
docker_container:
name: jitsi-jvb
..........
volumes:
"{{ CONFIG }}/jvb:/config"
"{{ CONFIG }}/jvb/logging.properties:/config/logging.properties"
"{{ CONFIG }}/jvb/sip-communicator.properties:/config/sip-communicator.properties"
Ошибка была:
ERROR! Syntax Error while loading YAML.
did not find expected key
The error appears to have been in '/FAKEPATH/docker-container-jitsi.yml': line 56, column 7, but may be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
"{{ CONFIG }}/jvb:/config"
"{{ CONFIG }}/jvb/logging.properties:/config/logging.properties"
^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"