Я начинаю использовать Докера для своего рабочего стола Kubuntu. Поскольку я следую учебным руководствам, помогало мне понимающий, как это работает, но я застреваю со следующей ситуацией:
Я хотел бы развернуть контейнеры, по крайней мере, для этих трех:
Ища практические руководства, люди настоятельно рекомендуют использующие альпийские базовые изображения, поскольку они только используют 5-6 МБ памяти на диске, которая довольно хороша. И это решило бы мои проблемы для веб-сервера и базы данных, пока там уже сделаны базовыми изображениями в Концентраторе Докера.
Но проблемой является с Java SDK, где я просто создаю свою очень собственную среду специальной разработки, которая должна использовать базовое изображение Ubuntu 16.04. (Я мог портировать его на альпийский, но будет слишком много проблем, которые я не хотел бы решать).
Если я понял, как Докер работает, если бы несколько dockerfiles используют то же базовое изображение, это не необходимо, чтобы быть загруженным снова, поскольку оно использовалось бы каждым контейнером, которые требуют его.
Затем была бы хорошая идея для использования того базового изображения Ubuntu 16.04, чтобы также развернуть веб-сервер и базу данных (и больше контейнеров, если таковые имеются)? Поскольку использование упомянутых альпийских версий в Концентраторе Докера должно было бы загрузить их альпийские базовые изображения также (даже если они - только 5 МБ).
Заранее спасибо.
Просто для уточнения: Я НЕ хочу изменять инструменты, которые я в настоящее время использую, который не является вопросом, я просто хочу понять Докера и хорошие методы с ним.
Да, если вы используете одно и то же базовое изображение для всех трех контейнеров, вы экономите место на диске, поскольку этот базовый слой является общим для трех изображений. Тем не менее, Alpine не такой большой, так что если ваш DB & amp; Изображения Apache основаны на Alpine, это не так плохо, как кажется. Но если вы используете контейнер томов (например, для предоставления статического контента серверу Apache), вы можете основывать его на любом из ваших существующих образов, и единственное дисковое пространство, которое он будет использовать, будет для добавляемого вами контента.