Для чего контейнеру Docker нужен базовый образ ОС?
Новичок в Docker. Не понял одну вещь.
Например, мне нужно запустить nginx в контейнере. Допустим, хост-система ubuntu 16. Если я сделаю: sudo docker run nginx
то nginx, если я правильно понимаю, запустится как бы под управлением ubuntu 16?
А если мне нужно запустить nginx той версии, которая была основной в среде ubuntu 14, то что я должен сделать? Создать контейнер из образа ubuntu 16 и потом apt install nginx? Или как-то запустить контейнер сразу с нужной версией nginx?
В чём вообще смысл запуска контейнера на основе базового образа ОС, например, ubuntu?
В пустом (scratch) образе нет внезапно ничего.
Дистрибутив ОС помимо голого ядра всё-таки состоит ещё из набора стандартных библиотек и утилит.
Если бы вы посмотрели на Docker Hub, то могли бы узнать, что официальные образы nginx собираются из debian:buster-slim.
Создать контейнер из образа ubuntu 16 и потом apt install nginx?
По второй ссылке можете посмотреть, что помимо просто установки пакета ещё надо вычищать все временные файлы и переключать вывод логов.