2016-03-19 3 views
10

Несколько статей были чрезвычайно полезны для понимания объема и управления данными Docker. Эти два, в частности, превосходны:Объем хост-узла док-станции, но перезапись содержимого контейнера

Однако я не уверен, что я ищу обсуждается. Вот мое понимание:

  1. При запуске docker run -v /host/something:/container/something принимающих файлов будет перекрывать (но не переписывать) файлы контейнер в указанном месте. Контейнер больше не будет иметь доступа к предыдущим файлам местоположения, но вместо этого будет иметь доступ к файлам хоста в этом месте.
  2. При определении тома в файле Docker, другие контейнеры могут совместно использовать содержимое, созданное изображением/контейнером.
  3. Хост также может просматривать/изменять токовый файл Dockerfile, но только после обнаружения истинной точки монтирования с помощью докеры проверяют. (обычно где-то вроде /var/lib/docker/vfs/dir/cde167197ccc3e138a14f1a4f7c....). Тем не менее, это волосатый, когда Docker должен работать внутри виртуальной виртуальной машины.

Мой вопрос прост. Как можно отменить наложение, чтобы при установке тома файлы контейнеров имели приоритет над файлами моего хоста?

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

+0

Ваш вопрос против вашего правила № 1 –

+1

@warmoverflow Извиняюсь за неопределенный язык. Пронумерованный список предназначен только для перечисления того, что я уже знаю, для Docker. Это не правила, которые я хочу соблюдать. Он включен, чтобы сообщить вам, что я сделал должную осмотрительность и искал помощи. –

ответ

6

Доккер 1.10+ способ совместного использования файлов будет через громкость, как в docker volume create.
Это означает, что вам не нужен контейнер, предназначенный для тома данных, вы можете напрямую использовать объем данных.

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