Контейнер Persist Docker после запуска краткосрочных сценариев - PullRequest
0 голосов
/ 05 мая 2018

У меня есть два скрипта Python, которые я запускаю в контейнере. Первый скрипт загружает некоторые данные с диска, выполняет некоторые манипуляции, а затем сохраняет вывод в контейнере. Второй скрипт делает то же самое, снова сохраняя вывод в контейнере. Однако, как только эти сценарии завершены, мой контейнер в основном «готов», а Kubernetes практически навсегда повторно развернул одну и ту же сборку. Я хочу иметь возможность запускать эти сценарии один раз , но иметь возможность получать доступ к этим результатам в любое время без непрерывной сборки контейнера.

Вот мой Dockerfile, обычно:

FROM X
...
RUN python3 script1.py
RUN python3 script2.py

В настоящее время я пытаюсь CMD sleep infinity попытаться получить доступ к контейнеру через оболочку позже, но это не работает. Я также пытался ENTRYPOINT ["sh"], но безрезультатно.

Итак, обычно используемый мной Docker-файл выглядит следующим образом:

FROM X
...
RUN python3 script1.py
RUN python3 script2.py
CMD sleep infinity

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

В Kubernetes / OpenShift вы бы использовали работу. Но чтобы сохранить результаты, вам также потребуется получить постоянный том и смонтировать его в модуль для задания, что даст вам место для сохранения результатов. Позже вы можете создать временный модуль для доступа к результатам с постоянного тома.

0 голосов
/ 05 мая 2018

Вам нужно использовать docker-compose здесь. Что вы можете сделать / var / opt / logs из вашего хост-контейнера или любого другого каталога, который вы хотите, в тот же каталог внутри контейнера, где хранятся ваши журналы. Затем оба каталога и файлы будут синхронизироваться независимо от того, включен ваш контейнер или нет. Вот как я должен монтировать сценарии, которые мне нужны, когда контейнер запущен и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...