В моем приложении с docker -compose у меня есть 2 контейнера, 1 nginx и 1 python сценарий crontab, которые обновляют некоторые файлы в папке nginx / html. С помощью docker -compose, когда я объявляю
volumes:
- shared-volume:/usr/share/nginx/html/assets/xxx:ro
, исходные файлы изображений nginx копируются на общий том.
Теперь я пытаюсь переместить приложение в k8s, но когда я использую общий том, я вижу, что исходные файлы в nginx / html отсутствуют.
Итак, вопрос в том, возможно ли скопировать исходные файлы из моих nginx изображений на общий том? Как?
____________________________ РЕДАКТИРОВАТЬ ______________________________________
Для пояснения, я новичок в k8s. С ВМ мы обычно запускаем скрипт, который обновляет папку nginx assets. С docker -compose я использую что-то вроде этого:
version: '3.7'
services:
site-web:
build: .
image: "site-home:1.0.0"
ports:
- "80:80"
volumes:
- v_site-home:/usr/share/nginx/html/assets/:ro
site-cron:
build: ./cronScript
image: "site-home-cron:1.0.0"
volumes:
- v_site-home:/app/my-assets
volumes:
v_site-home:
name: v_site-home
Теперь я начинаю писать развертывание (с постоянным томом? Потому что, как я понимаю, даже если существует постоянный том, набор с сохранением состояния в этом случае бесполезен) конвертировать docker -композицию в k8s. На самом деле мы не можем использовать какое-либо публичное c облако для политики безопасности (данные должны быть в нашей стране, и сейчас такой компании не существует). Поэтому идея состоит в том, чтобы запустить vanilla k8s на нескольких голых серверах и начать миграцию с очень простого приложения, такого как это. Я попытался с 2 docker, реплика: 1 и пустой том в одном модуле. В этом случае я вижу, что изначально в папке приложения nginx пусто, и мне нужно дождаться обновления crontab, чтобы увидеть мои результаты. Итак, это первая проблема.
Теперь я читаю ваш ответ и, очевидно, у меня есть другие сомнения. Лучше разделить стручок, так 1 стручок для контейнера? Развертывание с постоянным объемом это путь? В этом случае у меня старая проблема, как посмотреть исходные файлы nginx assets? Большое спасибо за помощь!