Я уже знаю, что исходный код вашего приложения должен быть скопирован с использованием ADD
чтобы жить внутри контейнера докера.
Это кажется хорошей идеей, но что, если я хочу обновить исходный код приложения, - два раза в день или даже чаще?
Наиболее жизнеспособным решением было бы сохранить исходный код вне моего приложения. Затем я могу поддерживать работу машины и просто обновлять исходный код с помощью GIT.
Машина будет создана следующим образом:
docker run -p 80:80 -v/home/adam/projects/docker-test/src: /var/www/html webserver
Это означает, что если я контролирую машину с сервера onprem, но инфраструктура находится на EC2, каждый раз, когда открывается сайт, файлы будут вытаскиваться через Интернет.
Какое лучшее решение этой проблемы? Могу ли я продолжать перераспределять контейнер с обновленным исходным кодом, но без простоя?
На самом деле, он должен быть скопирован с COPY
, а не ADD
, чтобы ограничить недействительность кеша.
Наиболее жизнеспособным решением было бы сохранить исходный код вне моего приложения.
Да, но вместо того, чтобы ссылаться на него через удаленный источник (git-сервер), у вас может быть webhook (например, GitHub), который при каждом нажатии на этот git-сервер вытаскивает из упомянутого репо и сохраняет актуальную информацию, дату копии источника локально.
Затем смонтируйте это локальное репо как том на вашем изображении.