@vladitot

Как переиспользовать слои с кодом в docker контейнере?

Здравствуйте! Есть репозиторий с кодом PHP.
Хотелось бы поставлять на сервер code as container. То есть я хочу при пуше в репозиторий билдить контейнер, содержащий PHP код текущей версии.
Исходники большие, порядка 300 метров.
Если я буду использовать COPY инструкцию в Dockerfile, то если хотя бы один из тысячи файлов изменится, то при следующем билде весь код сбилдится как новый слой, и займет еще 300 мегабайт.

Вопрос! Может быть кто-то сталкивался с подобным, и знает, как сделать так, чтобы лишь изменения конкретных файлов вносились в контейнер, однако неизменные файлы брались, как умеет докер, из кеша?
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
ivankomolin
@ivankomolin
Вы скорее всего путаете понятие контейнера с образом.
В момент build собирается именно образ.
Из которого потом на нужной машине можно создать контейнер.
Да если изменять файлы именно в контейнере, то он будет расти.

Поэтому при изменении в коде необходимо билдить новый образ с новым кодом, пушить в репозиторий.
А на нужной машине делать pull из репозитория, удалять старый контейнер и создавать новый.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы