Я пытаюсь автоматизировать следующий цикл с помощью Docker: создать контейнер, выполнить некоторую работу внутри него (более одной команды), получить некоторые данные контейнера.Запустите сложную серию команд в одном контейнере Docker
Что-то вдоль линий:
for (i = 0; i < 10; i++)
spawn a container
wget revision-i
do something with it and store results in results.txt
Согласно документации, которую я должен идти с:
for (...)
docker run <image> <long; list; of; instructions; separated; by; semicolon>
К сожалению, этот подход не является привлекательным ни maintanable как список инструкций растет по сложности ,
Обертывание инструкции в сценарии, как в docker run <image> /bin/bash script.sh
не работает, либо, так как я хочу, чтобы породить новый контейнер для каждой итерации цикла.
Подводя итог:
Есть ли разумный способ запустить сложную серию команд, как описано выше в том же контейнере?
Как только некоторые данные сохраняются внутри контейнера, скажем, /home/results.txt, и контейнер возвращается, как я могу получить results.txt? Единственный способ, которым я могу думать, - это зафиксировать контейнер и tar файл из нового изображения . Есть ли более эффективный способ сделать это?
Бонус: следует ли вместо этого использовать ваниль LXC? У меня нет опыта, хотя я не уверен. Спасибо.