Как мне монтировать отдельные файлы, используя ansible? - PullRequest
0 голосов
/ 20 сентября 2019

На моем удаленном хосте есть каталог, который я хочу смонтировать в док-контейнер.Проблема с этим каталогом состоит в том, что его файлам и самому себе нужен конкретный владелец и группа.Сначала я попробовал:

    ...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 }}"

1 Ответ

1 голос
/ 20 сентября 2019

Это кажется мне простой проблемой синтаксиса.Тире для вашего VolumeList отсутствуют:

...
volumes:
 - "{{ CONFIG }}/jvb:/config"
 - "{{ CONFIG }}/jvb/logging.properties:/config/logging.properties"
 - "{{ CONFIG }}/jvb/sip-communicator.properties:/config/sip-communicator.properties"
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...