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

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

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽