Будет ли размер файла образа моих приложений Docker больше базового? - PullRequest
0 голосов
/ 04 января 2019

Если я добавлю 10 приложений, которые все используют этот базовый образ из концентратора Docker: php:7.3-apache-stretch (что составляет около 378 МБ), будут ли они по существу занимать 3,8 ГБ + (378 МБ базовый образ x 10 различных приложений) дискового пространства на моем хост-компьютере?

Редактировать: я спрашиваю причину, потому что, если я наберу docker image, это отобразится:

REPOSITORY          TAG                  IMAGE ID            CREATED             SIZE
docker-test         latest               f941ae2a70f1        31 hours ago        378MB
<none>              <none>               4c71598a1098        31 hours ago        378MB
<none>              <none>               5255a13a71c7        32 hours ago        378MB
<none>              <none>               4979b0dc765c        32 hours ago        378MB
<none>              <none>               97c2190de3d5        32 hours ago        378MB
<none>              <none>               d2e33f282127        32 hours ago        378MB
<none>              <none>               e38ef642324e        32 hours ago        378MB
php                 7.3-apache-stretch   1e9efd9f6779        7 days ago          378MB

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Базовое изображение будет сохранено только один раз из-за способа, которым докер использует слои для хранения файлов. Подробности этого лучше всего объяснить в документации.

В вашем примере каждое из 10 приложений будет занимать дополнительное пространство только для размера всех файлов, которые вы изменяете / добавляете к изображению. Таким образом, если каждое приложение имеет размер 5 МБ, все 10 будут занимать 10 * 5MB + 378MB = 428MB. (number of apps) * (size of applications) + (base image size).

0 голосов
/ 04 января 2019

Нет, слои только для чтения - те, которые образуют ваш базовый образ, а также слои, созданные из ваших файлов Docker, - будут доступны всем работающим контейнерам.

Подробнее см. https://docs.docker.com/storage/storagedriver/#container-and-layers и https://docs.docker.com/storage/storagedriver/#container-size-on-disk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...