Если вы хотите создать облегченное изображение для своего приложения, имейте в виду следующее:
Попробуйте использовать альпийские изображения, например, узел: 8.12.0-alpine , поскольку альпийские изображения являются самым легким базовым изображением.Если вы хотите установить пакеты, выполните RUN apk add --no-cache --virtual your_packages... && rm -rf /var/cache/apk/*
Попытайтесь уменьшить количество слоев, выполнив несколько команд в одной инструкции RUN
, например RUN yarn install && yarn build && yarn test && yarn install --production --ignore-scripts --prefer-offline && rm
-rf src && yarn start
Попробуйте объединить команды, которые отменяют друг друга, например, RUN apk update && apk add ... && rm -rf /var/cache/apk/*
.Здесь apk update
создает кеш, а rm -rf /var/cache/apk/*
очищает его.Нет необходимости запускать эти две команды по отдельности, так как они отменяют работу друг друга, поэтому нет смысла иметь два слоя, которые сводят друг друга на нет и увеличивают размер конечного изображения.
Примечание : Наличие нескольких док-файлов вместо одного не приведет к уменьшению количества слоев или уменьшению размера.Это только дает вам логическое разделение задач, которые вы хотите обрабатывать индивидуально.