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

 Здравствуйте! Есть репозиторий с кодом PHP.  

Хотелось бы поставлять на сервер code as container. То есть я хочу при пуше в репозиторий билдить контейнер, содержащий PHP код текущей версии.  

Исходники большие, порядка 300 метров.  

Если я буду использовать COPY инструкцию в Dockerfile, то если хотя бы один из тысячи файлов изменится, то при следующем билде весь код сбилдится как новый слой, и займет еще 300 мегабайт.  
  

Вопрос! Может быть кто-то сталкивался с подобным, и знает, как сделать так, чтобы лишь изменения конкретных файлов вносились в контейнер, однако неизменные файлы брались, как умеет докер, из кеша? 

 Вы скорее всего путаете понятие контейнера с образом.  

В момент build собирается именно **образ**.   

Из которого потом на нужной машине можно создать **контейнер**.  

Да если изменять файлы именно в контейнере, то он будет расти.  
  

Поэтому при изменении в коде необходимо билдить новый образ с новым кодом, пушить в репозиторий.  

А на нужной машине делать pull из репозитория, удалять старый контейнер и создавать новый.