Новый контейнер получает данные из ссылочного изображения.. тогда зачем нужен объем?

Я хочу понять вариант использования томов. Например: я создал образ докера, используя httpd:alipine в качестве базового образа. В этом изображении у меня есть строка COPY ./ui /usr/local/apache2/htdocs. Всякий раз, когда я создаю новый контейнер, используя это изображение, в новый контейнер добавляются данные изображений, т.е. папка./ui. Так зачем мне нужен объем вместо этого. Даже если я использую том и в нем есть данные, моему новому контейнеру понадобится эталонное изображение, где я использую свое собственное изображение. Так зачем мне нужен том в любом случае, когда данные будут добавлены самим изображением.

Например: Docker build -t myimage

docker создать контейнер - имя mycontainer -p 8080:80 -v my-vol:/htdocs myimage

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

1 ответ

Не рекомендуется копировать данные времени выполнения приложения в образ докера. В процессе создания образов Docker должны быть добавлены только данные конфигурации, так как переносимость является одной из главных проблем в Docker. Размер образа Docker будет излишне увеличиваться при добавлении данных времени выполнения приложения. Пожалуйста, следуйте рекомендациям при создании образов докеров.

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