Вам нужно подходить к этому по-другому, поскольку вы должны помнить, что образы контейнеров и контейнеры не являются виртуальными машинами. Это единый процесс, который запускается и поддерживается в течение всего жизненного цикла. Таким образом, фоновые процессы (например, cron) не существуют в контейнере.
То, что я видел у большинства людей, это то, что контейнер просто выполняет все, что вы ищете, для выполнения работы, такой как do_the_thing.sh
, а затем с помощью команды docker run
на хост-компьютере, чтобыпозвони через cron.
Итак, в качестве аргумента, допустим, у вас было изображение myrepo / task с точкой входа по умолчанию do_the_thing.sh
На хосте вы можете добавить запись в crontab:
# m h dom mon dow user command
0 */2 * * * root docker run --rm myrepo/task
Тогда все сводится к вопросу дизайна. Если задаче нужны файлы, вы можете передать их через том. Если нужно что-то положить, когда это будет сделано, возможно, посмотрите на хранилище BLOB-объектов.