Задать вопрос
@vladitot

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

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

Вопрос! Может быть кто-то сталкивался с подобным, и знает, как сделать так, чтобы лишь изменения конкретных файлов вносились в контейнер, однако неизменные файлы брались, как умеет докер, из кеша?
  • Вопрос задан
  • 238 просмотров
Подписаться 3 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Решения вопроса 1
ivankomolin
@ivankomolin
Вы скорее всего путаете понятие контейнера с образом.
В момент build собирается именно образ.
Из которого потом на нужной машине можно создать контейнер.
Да если изменять файлы именно в контейнере, то он будет расти.

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

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

Похожие вопросы