Фон
У меня есть контейнер, в котором запущено множество вещей, включая интерфейс, доступный другим разработчикам.
Пользователи собираются загружать некоторые из своих сценариев оболочки / python в мой контейнер для запуска.
Чтобы мой контейнер работал, я планирую отправить сценарий в контейнер-родственник, который затем запустит их и отправит мне ответ. Сценарии пользователя должны иметь возможность загружать внешние пакеты и т. д.
Затем я хочу, чтобы родственный контейнер был "очищен"
Вопрос
Могу ли я перезапустить этот родственный контейнер из исходного образа после того, как будет выполнен запуск пользовательского скрипта? Таким образом, пользователи могут получить постоянно чистый контейнер для запуска своих скриптов.
Примечание
Если я полностью лаю не на то дерево с помощью этого раствора, пожалуйста, дайте мне знать. Я пытаюсь реализовать некоторые странные функции и могу подойти к этому с неправильной точки зрения.
ИЗМЕНИТЬ 1 (другие подходы и почему я не думаю, что они мне нравятся)
Две альтернативы, о которых я подумал, - это наличие контейнера с контейнерами для внешнего интерфейса. Или попросите родственный контейнер запускать на нем контейнеры докеров. Но эти два решения сталкиваются с трудностями Docker-in-docker. Другое решение может заключаться в повышении разрешений моего внешнего контейнера до тех пор, пока он не сможет на лету создавать родственные контейнеры для запуска скриптов. Но меня беспокоит, что это может привести к предоставлению моему внешнему контейнеру излишне высоких разрешений.
РЕДАКТИРОВАТЬ 2 (вся документация, которую я нашел, о перезапуске самого контейнера)
Мне известна документация по автоперезапуск, но я не верю, что это очистит содержимое контейнеров. Например, если на него был загружен файл.


Мой ответ имеет серьезные последствия для безопасности.
Вы можете управлять своими родственными контейнерами из основного контейнера, если вы сопоставите сокет докера с хоста с вашим основным контейнером.
docker run -v /var/run/docker.sock:/var/run/docker.sock ...
Теперь у вас есть полный контроль над движком докеров из вашего основного контейнера. Вы можете start, stop и т. д. Ваши родственные контейнеры и порождать новых (чистых) братьев и сестер.
Но помните, что это фактически предоставляет корневые права хоста вашему основному контейнеру.
Если мой ответ отвечал на ваш вопрос, принято его принимать :)