Задание
- Создайте свой кастомный образ nginx на базе alpine. После запуска nginx должен отдавать кастомную страницу (достаточно изменить дефолтную страницу nginx); Собранный образ необходимо запушить в docker hub и дать ссылку на ваш репозиторий.
- Определите разницу между контейнером и образом;
- Ответьте на вопрос: Можно ли в контейнере собрать ядро?
- * Создайте кастомные образы nginx и php, объедините их в docker-compose. После запуска nginx должен показывать php info. Все собранные образы должны быть в docker hub.
Решение
-
Решено в подкаталоге. https://hub.docker.com/repository/docker/taihon/taihon-nginx/general
-
Образ - неизменяемый шаблон, содержащий набор "слоёв", в которых находятся инструкции, необходимое ПО и файлы, необходимые для выполнения каких-либо функций. Контейнер - исполняющийся в данный момент экземпляр образа.
-
Скомпилировать ядро из исходного кода можно, но если не предоставить контейнеру docker volume с хост-машины - то результат сборки будет утерян при завершении работы контейнера. Пример окружения для сборки ядер: https://github.com/a13xp0p0v/kernel-build-containers
-
Выполнено в подкаталоге. Для проверки можно перейти в каталог и запустить docker compose up -d
cd q4 && docker compose up -d
Docker скачает кастомные образы nginx (взят из п.1) и php (основан на php-8.2 с доустановленными пакетами), прокинет порт 80 с хоста внутрь на nginx. При переходе на порт 80 Docker-хоста будет отображена страница с phpinfo().