Size: a a a

2021 February 08

PG

Pavel Gassan in Ansible
/etc/xxx/config.yml в контейнере есть? может ты его переписать пытаешься?
источник

PG

Pavel Gassan in Ansible
любые файлы в roles/role_name/files/
источник

M

Maksim Sharov in Ansible
Pavel Gassan
/etc/xxx/config.yml в контейнере есть? может ты его переписать пытаешься?
его нет в контейнере, это конфиг который я подсуну для запуска приложения из контейнера
источник

PG

Pavel Gassan in Ansible
я вот попробовал - в пустую директорию прокидывается файл
источник

AD

Alex Domoradov in Ansible
Maksim Sharov
так, какие название файло допустимы, только main.yml?
вы вообще понимаете как оно работает?
источник

M

Maksim Sharov in Ansible
Alex Domoradov
вы вообще понимаете как оно работает?
волюмы в контейнере или файлы в роли?
источник

M

Maksim Sharov in Ansible
вроде и то, и то думал, понимаю
источник

M

Maksim Sharov in Ansible
Pavel Gassan
я вот попробовал - в пустую директорию прокидывается файл
- name: install traefik
 docker_container:
   name: traefik
   image: traefik:v2.4
   state: started
   ports:
     - "80:80"
     - "8080:8080"
   restart: yes
   restart_policy: always
   volumes:
     - traefik.yml:/etc/traefik/traefik.yml

roles/traefik/files/traefik.yml в репозитории

дает ошибку при запуске контейнера

command traefik error: read /etc/traefik/traefik.yml: is a directory

вот дебажу, пытаюсь найти причину.

командой докера, запускает без проблем, проблема при запуске через ансибл
источник

AD

Alex Domoradov in Ansible
при таком конфиге
```
volumes:
     - config.yml:/etc/xxx/config.yml

```

оно будет искать файл config.yml в той же папке откуда запускается docker или относительно working_dir
источник

M

Maksim Sharov in Ansible
Alex Domoradov
при таком конфиге
```
volumes:
     - config.yml:/etc/xxx/config.yml

```

оно будет искать файл config.yml в той же папке откуда запускается docker или относительно working_dir
опа, я думал в files
источник

AD

Alex Domoradov in Ansible
с каких это делов? ))
источник

M

Maksim Sharov in Ansible
как тогда files используют?
источник

АП

Анатолий Пантелеев... in Ansible
Maksim Sharov
поясните, пожалуйста, как использовать ссылку на файлы в ролях?

Any copy, script, template or include tasks (in the role) can reference files in roles/x/{files,templates,tasks}/ (dir depends on task) without having to path them relatively or absolutely.

у меня есть файл roles/xxx/files/config.yml (называть его main.yml?)

как я могу ссылаться на него в tasks этой же роли?

например, я пытаюсь его подсунуть в качестве конфига запускаемому контейнеру. так?

- name: Finer container restart/update control
 community.general.docker_container:
   name: test
   image: ubuntu:18.04
   volumes:
     - config.yml:/etc/xxx/config.yml

непонятен этот момент
возможно проблема в том что плейбук выполняется на другом хосте, и это файл нужно сначала туда скопировать?
я бы сделал двумя шагами, сначал скопировал, потом подключал.
1. copy: src=config.yml dest=/tmp/config.yml
2. - /tmp/config.yml:/etc/xxx/config.yml
источник

M

Maksim Sharov in Ansible
Alex Domoradov
при таком конфиге
```
volumes:
     - config.yml:/etc/xxx/config.yml

```

оно будет искать файл config.yml в той же папке откуда запускается docker или относительно working_dir
я ансибл запускаю)
источник

M

Maksim Sharov in Ansible
а не докер
источник

PG

Pavel Gassan in Ansible
Alex Domoradov
при таком конфиге
```
volumes:
     - config.yml:/etc/xxx/config.yml

```

оно будет искать файл config.yml в той же папке откуда запускается docker или относительно working_dir
если это таск в роли - то будет смотреть в файлы роли
источник

M

Maksim Sharov in Ansible
ansible-playbook -i inventory.yml configure.yml -vvvv
источник

M

Maksim Sharov in Ansible
Pavel Gassan
если это таск в роли - то будет смотреть в файлы роли
да, это плей плейбука, в роли есть таски, одна из тасков - запуск контейнера
источник

AD

Alex Domoradov in Ansible
Pavel Gassan
если это таск в роли - то будет смотреть в файлы роли
при чем тут таск к самому докеру? Я оченб сомневаюсь. что без указания пути оно автоматом подставит его
источник

M

Maksim Sharov in Ansible
Анатолий Пантелеев
возможно проблема в том что плейбук выполняется на другом хосте, и это файл нужно сначала туда скопировать?
я бы сделал двумя шагами, сначал скопировал, потом подключал.
1. copy: src=config.yml dest=/tmp/config.yml
2. - /tmp/config.yml:/etc/xxx/config.yml
не, ансибл и докер на одном хосте
источник