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

Я пытаюсь автоматизировать шаг создания реестра Docker с помощью ansible.Вот моя книга игр:

---
- hosts: testansible
  tasks:

    - name: Getting docker registry
      become: true
      become_method: sudo
      become_user: root
      shell: docker run -d -p 443:443 --restart=always --name registry -v /home/myuser/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/myuser/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/home/myuser/certs/domain.key registry:2

Когда я запускаю эту программу, она не выдает ошибок.

PLAY RECAP 
127.0.0.1                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Но в docker logs

level = fatal msg = "open /home/myuser/certs/domain.crt: такого файла или каталога нет"

Но файл находится в точном месте.

Если я запускаю docker run step вручную, он создает реестр Docker без ошибок.Почему я получаю эту ошибку?

Здесь testansible настроен на использование localhost.

Среда: Ubuntu 16.04

Ansible: ansible 2.8.5

1 Ответ

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

Вы монтируете /home/myuser/certs в /certs внутри контейнера.Вам необходимо либо обновить REGISTRY_HTTP_TLS_CERTIFICATE и REGISTRY_HTTP_TLS_KEY, чтобы отразить это, либо изменить отображение тома на -v /home/myuser/certs:/home/myuser/certs

...