Добрый день! Кто сталкивался с docker exec через ansible? Хочу выполнить

docker exec с командой mongorestore /root/database

Но проблема в том, что каждый раз контейнер запускается со случайным id и чтобы выполнить команду, надо знать id.
например может быть так docker exec external_mongodb.1.rovxdjbtd397fkgqkl8775gep

Пытался сделать так (с маской контейнера):
- name: Mongo restore data
community.docker.docker_container_exec:
container: external_mongodb*
command: mongorestore /root/database
register: restore_result

Получаю ошибку что нет контейнера с таким именем. Как решить проблему можно?

7 ответов

2 просмотра
Роман-Морозов Автор вопроса

Сделал так: - name: Getting mongo container ID shell: docker container ls --filter name=external_mongodb --format "{{ '{{' }} .Names}}" register: mongo_id - name: Mongo restore data community.docker.docker_container_exec: container: "{{ mongo_id.stdout }}" command: mongorestore /root/database register: restore_result

Роман Морозов
Сделал так: - name: Getting mongo container I...

Я думал у ансибла есть отдельный модуль для запроса запущенных контейнеров

Роман Морозов
Сделал так: - name: Getting mongo container I...

Если не используется пайп и другие штуки шелла, рекомендуют использовать command

1) можно обращаться по имени а не айди, и это работает (проверено), имя задаётся при запуске docker run -ti -d --rm --name test redis:6.2.6 docker exec test ls -la total 8 drwxr-xr-x 2 redis redis 4096 Apr 20 13:29 . drwxr-xr-x 1 root root 4096 Sep 13 11:12 .. 2) https://docs.ansible.com/ansible/2.9/modules/docker_container_module.html command raw Command to execute when the container starts. A command may be either a string or a list. Prior to version 2.4, strings were split on commas. можно подумать как прикрутить

Denis nobody
1) можно обращаться по имени а не айди, и это рабо...

У него сворм. Я его смрад за километр чую

George Gaál
У него сворм. Я его смрад за километр чую

docker_swarm module – Manage Swarm cluster docker_swarm_info module – Retrieves facts about Docker Swarm cluster. docker_swarm_service module – docker swarm service docker_swarm_service_info module – Retrieves information about docker services from a Swarm Manager

Похожие вопросы

Обсуждают сегодня

Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Приветствую всех, возникла проблема, до этого писал бота в простом формате где при выполнении условий приходило через send_message информация, сейчас решил добавить хендлер на...
Andrew
4
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Можешь посмотреть где именно вылетает floodwait чаще всего? Просто при 1 входящем, 1 исходящем не должно быть проблем
Артем Уколов
1
Всем привет, может уже кто-то пытался выдернуть из api информацию о дате рождения пользователя Есть ли вообще такая возможность?
Artem Stormageddon
2
Ребят, привет. У кого-то есть опыт заказа мерча в сторе? Есть успешные кейсы? Чёт у меня турецкую карту не принимает
Vladimir F.
7
Можно ли отследить отправление местоположения именно по кнопке, чтобы 100% отправлялось текущее, а не любое выбранное?
Lencore
2
Карта сайта