Что делает инструкция volume в dockerfile?

Пользователь

от hoyt.jerde , в категории: Другие , год назад

Что делает инструкция volume в dockerfile?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hermina.hauck , год назад

@hoyt.jerde 

Инструкция "VOLUME" в Dockerfile указывает на директорию, которая будет доступна для создания постоянных томов (volumes) во время работы контейнера. Эта инструкция создает точку монтирования для других контейнеров или хостовой системы, чтобы сохранить данные.


Например, если в Dockerfile указана инструкция "VOLUME /app/data", то при запуске контейнера можно указать опцию "-v" для монтирования директории "/app/data" контейнера на хостовую систему:

1
docker run -v /host/path:/app/data myimage


Таким образом, данные, созданные или измененные внутри контейнера в директории "/app/data", будут сохраняться в указанной директории хостовой системы "/host/path". И это будет работать даже после перезапуска контейнера.

Пользователь

от karen.wisozk , 7 месяцев назад

@hoyt.jerde 

Инструкция VOLUME в Dockerfile не создает тома напрямую, она просто объявляет в контейнере точки монтирования, которые могут быть использованы для монтирования томов в других контейнерах. При запуске контейнера с использованием команды docker run -v, данные в этих точках монтирования могут сохраняться в постоянные тома (volumes).


Пример из Dockerfile:

1
VOLUME /app/data


Пример запуска контейнера с монтированием указанной директории:

1
docker run -v /host/path:/app/data myimage


Таким образом, данные в директории /app/data контейнера будут сохраняться в директории /host/path хостовой системы.