Saya punya direktori di Host jarak jauh saya yang ingin saya pasang ke dalam wadah buruh pelabuhan. Masalah dengan direktori ini adalah, bahwa file dan dirinya sendiri memerlukan pemilik dan grup tertentu. Pertama, saya sudah mencoba:

    ...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 memang membuat volume secara rekursif dengan pemilik dan grup yang diperlukan. Jadi {{ CONFIG }}/jvb dan isinya memiliki 999:1000 (jvb:jitsi). Namun, untuk alasan apa pun, selama pemasangan hanya /config yang memiliki pemilik dan grup yang diperlukan (999:1000 atau jvb:jitsi) sedangkan konten /config masih memiliki root:root. Kemudian, saya mencoba me-mount file demi file (lihat di bawah), tetapi mungkin menolak untuk membiarkan saya melakukan ini. Adakah yang tahu cara memperbaiki ini?

# 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"

Kesalahannya adalah:

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 }}"
0
Lavair 20 September 2019, 12:08

1 menjawab

Jawaban Terbaik

Ini sepertinya masalah sintaksis sederhana bagi saya. Tanda hubung untuk volumeList Anda tidak ada:

...
volumes:
 - "{{ CONFIG }}/jvb:/config"
 - "{{ CONFIG }}/jvb/logging.properties:/config/logging.properties"
 - "{{ CONFIG }}/jvb/sip-communicator.properties:/config/sip-communicator.properties"
...
1
Patrick Pötz 20 September 2019, 11:06