Тут объеденены 2 связанных задания, сделать нужно каждое отдельно
Задание 1:
Цель лабораторной: освоить подход создания легковесного образа путем сборки приложения на одном образе, и запуска на другом. Рекомендуется использовать любое опенсорс приложение требующее сборку приложение (Java,C/C++,Golang, Node).
1. Образ должен быть легковесным
2. Использовать базовые легковестные образы - alpine
3. Сборка приложения должна происходить в первом образе
4. Запуск приложения выполняется во втором образе, через копирование артефакта
5. Вся конфигурация выполняется через переменные окружения
6. Сборка и запуск приложения должно быть оформлено в одном Dockerfile
7. При сборке приложения, каждый этап сборки должен выполняться только при изменении зависимых файлов
8. Создать файл docker-compose для старта и сборки
9. Контейнер должен запускаться от непривилегированного пользователя
10. После установки всех нужных утилит, должен очищаться кеш
Задание 2:
Цель лабораторной: освоить методы создания образов с разными уровнями зависимостей
1. Создать Dockerfile, который будет называться system. В него будут установлены все зависимости для сборки проекта. Как пример голая node нужной версии.
2. Создать Dockerfile Для сборки и назвать его build. В нем будет собираться проект, он должен использовать имедж system. В build нельзя устанавливать никакие дополнительные зависимости, т.е. apk add, apt install и пр. запрещены. В нём можно только скачивать зависимости и делать сборку проекта.
3. Создать Dockerfile, который будет запускать код , который собрался в build. В нем должен быть только инструмент для запуска вашего проекта, как пример для node проекта - npm run start и пр. Если у вас python проект - объединять 2 и 3 шаги - можно. Если вы билдите проект на GO - тогда должен быть только бинарник для запуска.
4. Вся конфигурация выполняется через переменные окружения
5. Использовать базовые легковестные образы - alpine
6. Контейнер должен запускаться от непривилегированного пользователя
7. После установки всех нужных утилит, должен очищаться кеш
Задание нужно сделать до 18:00
Кристина
ТОГУ
Огромное спасибо за работу! Все выполнено понятно и с объяснениями! Очень хороший исполнит...
Артур
ТюмГНГУ
Все отлично, автор изумительный,можно положиться и довериться.Таких авторов очень мало, со...
Валентина
УрГЭУ (СИНХ)
Александр спасибо за вашу работу.Работа выполнена качественно и быстро!!!!
Елена
КГСХА
Нина спасибо вам большое!!!!! Очень рада что обратилась к вам все оценки отличные!