Короче говоря, я смотрю, возможно ли запустить несколько контейнеров Docker на одной машине с помощью функции create-with-container
gcloud (или аналогичной).Идея состоит в том, что будет некоторый «рабочий» контейнер (который выполняет некоторую произвольную работу), который будет запускаться и завершаться, за которым следует «очистительный» контейнер, который впоследствии выполняется, выполняя одну и ту же задачу каждый раз.
Более подробное объяснение:
В настоящее время у меня есть приложение, которое запускает задачи, которые запускаются в контейнерах Docker в Google Cloud.Я использую gcloud beta compute instances create-with-container <...other args...>
для запуска виртуальной машины, которая запускает указанный контейнер.Я назову этот «рабочий» контейнер и выполняемые им задачи не относящимися к моему вопросу.Однако, независимо от «рабочего» контейнера, я хотел бы запустить второй «очистить» контейнер после завершения первого.Таким образом, разработчики могут самостоятельно писать контейнеры Docker, которые не должны «повторять» работу, выполняемую контейнером «cleanup».
Примечание :
Я знаю, что я мог бы альтернативно указать сценарий запуска (например, сценарий bash), который запускает контейнеры Docker, как я описал выше.Однако, когда я впервые попробовал это, я продолжал сталкиваться с проблемами, когда команда docker pull <image>
по какой-то причине зависала или не работала при соединении с dockerhub.gcloud beta compute instances create-with-container <...args...>
, казалось, имел встроенную обработку ошибок / повторных попыток, что казалось идеальным.У кого-нибудь есть рабочий фрагмент, который обеспечивал бы относительно надежную обработку ошибок в скрипте запуска?