На своей практике я часто вижу чужие докерфайлы, которые мне тут же хочется взять и исправить. В основном ошибки связаны с непониманием как вообще работает докерфайл и что на самом деле происходит при выполнении каждой команды из него. Как вы уже наверняка знаете, докер-образ состоит из слоев. Каждый слой - это результат выполнения конкретной команды из докерфайла, наложенный поверх результата предыдущей команды. Задумайтесь что именно делает каждый шаг В хорошем докер-образе не должно быть никакой лишней информации, кроме необходимой для запуска вашего приложения. Например, если вы устанавливаете большой список зависимостей, убедитесь, что они действительно нужны вам все. Разберитесь как работает ваш пакетный менеджер. Большинство пакетных менеджеров сохраняют временную информацию об устанавливаемых библиотеках, чтобы ускорить последующие установки. В финальном докер-образе данный кэш лишний - установка должна проводиться один раз, и далее кэш лишь занимает место. Лишняя информация