Когда вы запускаете docker build
, он отправляет все файлы в каталоге Dockerfile
и все его подкаталоги демону Docker. Это делается при условии, что ваш Dockerfile
, вероятно, будет ссылаться на все эти файлы, но учтите, что не проверяет ваш Dockerfile
, чтобы выяснить, какие файлы отправлять . Он просто отправляет все.
Есть несколько способов уменьшить размер контекста сборки:
Поместите ваш Dockerfile
в его собственный каталог только с необходимыми файлами , Например, вместо Dockerfile
на верхнем уровне вашего проекта, поместите его в свой собственный подкаталог.
Напишите файл .dockerignore
, в котором перечислены файлы, исключаемые из построить контекст. Когда вы не можете убрать файлы с пути, это следующая лучшая вещь.
Влияет ли этот размер на размер получаемого изображения?
Да и нет. Слишком большой контекст сборки не увеличит размер изображения. Дополнительные файлы в контексте сборки, которые не используются Dockerfile
, просто выбрасываются.
Однако, если вы используете .dockerignore
, чтобы игнорировать файлы, которые Dockerfile
использует, которые могут уменьшить изображение размер (и потенциально сломать его). Игнорирование файлов приведет к тому, что COPY . /app
скопирует меньшее количество файлов, например.
Должен ли я уменьшить его?
Да. Это ускорит процесс сборки.