В Докере действительно ли я должен снова использовать базовые изображения если возможный?

Я начинаю использовать Докера для своего рабочего стола Kubuntu. Поскольку я следую учебным руководствам, помогало мне понимающий, как это работает, но я застреваю со следующей ситуацией:

Я хотел бы развернуть контейнеры, по крайней мере, для этих трех:

  • Веб-сервер (Apache)
  • Совместимая с SQL база данных (MariaDB/MySQL)
  • Java пользовательский (находящийся в OpenSDK) SDK

Ища практические руководства, люди настоятельно рекомендуют использующие альпийские базовые изображения, поскольку они только используют 5-6 МБ памяти на диске, которая довольно хороша. И это решило бы мои проблемы для веб-сервера и базы данных, пока там уже сделаны базовыми изображениями в Концентраторе Докера.

Но проблемой является с Java SDK, где я просто создаю свою очень собственную среду специальной разработки, которая должна использовать базовое изображение Ubuntu 16.04. (Я мог портировать его на альпийский, но будет слишком много проблем, которые я не хотел бы решать).

Если я понял, как Докер работает, если бы несколько dockerfiles используют то же базовое изображение, это не необходимо, чтобы быть загруженным снова, поскольку оно использовалось бы каждым контейнером, которые требуют его.

Затем была бы хорошая идея для использования того базового изображения Ubuntu 16.04, чтобы также развернуть веб-сервер и базу данных (и больше контейнеров, если таковые имеются)? Поскольку использование упомянутых альпийских версий в Концентраторе Докера должно было бы загрузить их альпийские базовые изображения также (даже если они - только 5 МБ).

Заранее спасибо.

Просто для уточнения: Я НЕ хочу изменять инструменты, которые я в настоящее время использую, который не является вопросом, я просто хочу понять Докера и хорошие методы с ним.

0
задан 24 May 2018 в 14:18

1 ответ

Да, если вы используете одно и то же базовое изображение для всех трех контейнеров, вы экономите место на диске, поскольку этот базовый слой является общим для трех изображений. Тем не менее, Alpine не такой большой, так что если ваш DB & amp; Изображения Apache основаны на Alpine, это не так плохо, как кажется. Но если вы используете контейнер томов (например, для предоставления статического контента серверу Apache), вы можете основывать его на любом из ваших существующих образов, и единственное дисковое пространство, которое он будет использовать, будет для добавляемого вами контента.

1
ответ дан 29 October 2019 в 06:39

Другие вопросы по тегам:

Похожие вопросы: