Добрый день! Кто сталкивался с 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 ответов

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

Сделал так: - 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

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта