Intereting Posts
Как быстро переключаться между средами докеров для разработки? попытка запуска изображения в докере Найти IP-адрес сетевого маршрута по умолчанию Как настроить boot2docker для запуска моих контейнеров при загрузке? Ошибка создания контейнера Docker в Bluemix Восстановить резервную копию от Docker до Neo4j Как запустить контейнер Docker только после выхода другого контейнера DashDB local (docker) не удалось запустить, поскольку службы базы данных не запускались docker-compose – открыть связанный служебный порт Где находятся контейнеры, расположенные в файловой системе хоста? Как продолжить использование контейнера докеров после запуска приложения? Перезагрузка контейнеров после хоста док-машины перезагружается Продолжительность жизни и пространство журналов stdout Как я могу сделать docker-compose построить изображение из удаленного репозитория git? Ограничьте доступ к местоположению сервера nginx в конкретный контейнер Docker с директивой «allow»

сборка докеров не используется

docker build не использует кеш.

 docker build -f Dockerfile . 

генерирует тот же результат, что и в этом случае:

 docker build -f Dockerfile --no-cache . 

Я модифицирую файл Docker, добавляя команды в конец файла. Поэтому предыдущие слои должны быть кэшированы и действительны.

У меня много дискового пространства.

Есть идеи?

Докерная версия 17.06.1-ce, сборка 874a737

Dockerfile:

 FROM registry:5000/base/python:xenial RUN mkdir /code COPY . /code RUN apt-get update && \ apt-get install -y \ vim \ less COPY /etc/foo /etc/foo ENTRYPOINT ["/bin/bash"] 

Из файла Dockerfile, если вы добавляете строки в свой файл Docker или изменяете построенный код, есть только одна строка, которую можно кэшировать:

 RUN mkdir /code 

После этого вы выполните:

 COPY . /code 

Поскольку вы изменили свой файл Docker, содержимое . (файл Docker является частью . ), и поэтому COPY необходимо выполнить снова, создавая новый слой. Как только вы создаете новый слой, каждый следующий слой больше не имеет кеша и нуждается в перестройке.

Чтобы улучшить кеширование, подумайте о том, чтобы поместить строки, которые меньше меняются в сторону верхней части вашего файла Docker. Это оставит COPY . /code COPY . /code в самом конце файла, так как он будет меняться почти каждый раз.