текущего юзера Ансибл в группу docker:
- name: Add current user to docker group
become: yes
ansible.builtin.user:
name: "{{ ansible_user }}"
groups: docker
append: yes
2. Удостоверяемся, что сервис docker работает:
- name: Start service docker, if not started
become: yes
ansible.builtin.service:
name: docker
state: started
3. А теперь, если мы попробуем обратиться к демону docker, например, вот так:
- name: test
raw: docker ps
то мы поймаем ошибку Permission denied!
4. Проверим, в каких группах у нас находится пользователь:
- name: View user groups
raw: groups
и увидим кучу групп, но нет группы docker!
Если зайти по SSH под именем этого пользователя, то все без проблем - пользователь находится в группе docker, обращения к демону - без проблем. Но Ансибл упорно не хочет этого видеть!
Пробовал после добавления пользователя в группу docker воткнуть такую таску:
- name: Reset ssh connection
meta: reset_connection
но это не помогло….
Можно хоть 100 раз запускать плейбук - результат одинаковый.
Перезагружаем виртуалку - и все отлично! Теперь Ансибл показывает, что пользователь есть в группе docker и без проблем общается с демоном.
Можно ли это как-то решить без перезагрузки виртуалки? А то такая себе автоматизация получается….. (((
Шутка рассказанная два раза - в два раза смешнее )
Обсуждают сегодня