Обычно я выбираю библиотеку Docker Hub самого высокого уровня , которая соответствует тому, что мне нужно.Также стоит поискать в https://hub.docker.com/ окне поиска, которое часто будет находить релевантные вещи , хотя и с довольно разными уровнями владения и обслуживания.
Официальные изображения Docker Hub, как правило, думаличерез множество вопросов, связанных с сохранением и настройкой и первоначальной настройкой.Сравните «Я просто apt-get install mysql-server
» со всеми частями, которые входят в официальное mysql
изображение ;просто импортирование этого реального опыта и его повторное использование может избавить вас от некоторых проблем.
Я бы подумал о том, чтобы создать свой собственный из базы ОС, такой как ubuntu:16.04
, если:
- Существуеттребование, чтобы образы Docker были собраны из какой-то определенной базы распространения («моя работа требует, чтобы все было построено из CentOS, поэтому мне нужен образ MySQL на основе CentOS»)
- Мне нужна комбинация версий программного обеспечения илипатчи, которые больше не поддерживает образ Docker Hub (
jruby:9.1.16.0
больше не собирается, поэтому, если мне нужны обновления ОС, мне нужно создать свой собственный базовый образ) - Мне нужен особенно экзотический набор параметров сборкипо какой-либо причине («У меня есть расширение C, которое работает только в том случае, если интерпретатор специально создан с поддержкой Unicode UTF-16»)
- Мне нужен или требуется очень подробный контроль над тем, какие версии программного обеспечения встроены;например, если это что-то на основе Java, где есть версия JVM, версия времени выполнения и версия приложения, которые могут иметь значение