2016-03-19 50 views
10

Kilka artykułów było niezwykle pomocnych w zrozumieniu zarządzania wolumenem i danymi w Docker. Te dwa w szczególności są doskonałe:Zamontuj wolumin hosta dokowania, ale zastąp go treścią kontenera.

Jednak nie jestem pewien, czy to, co szukam jest omawiany. Oto moje zrozumienie:

  1. Po uruchomieniu docker run -v /host/something:/container/something pliki hosta będą nakładać (ale nie zastępować) pliki kontenerów w określonej lokalizacji. Kontener nie będzie już miał dostępu do poprzednich plików lokalizacji, ale będzie miał dostęp tylko do plików hosta w tej lokalizacji.
  2. Podczas definiowania woluminu w pliku Dockerfile inne pojemniki mogą współdzielić zawartość utworzoną przez obraz/kontener.
  3. Host może również wyświetlać/modyfikować wolumin Dockerfile, ale dopiero po wykryciu prawdziwego punktu montowania przy użyciu okna dokowanego sprawdź. (zwykle gdzieś w rodzaju /var/lib/docker/vfs/dir/cde167197ccc3e138a14f1a4f7c....). Jest to jednak włochate, gdy Docker musi działać w maszynie Virtualbox VM.

Moje pytanie jest proste. Jak mogę odwrócić nakładkę, aby podczas montowania woluminu pliki kontenerów miały pierwszeństwo przed plikami hosta?

Chcę określić punkt podłączenia, w którym mogę łatwo uzyskać dostęp do systemu plików kontenera. Ale wydaje się, że nikt nie zadaje tego pytania. Rozumiem, że mogę użyć do tego kontenera danych lub mogę użyć inspekcji dockera do znalezienia punktu montowania, ale żadne rozwiązanie nie jest w tym przypadku dobrym rozwiązaniem.

+0

Twoje pytanie jest niezgodne z Twoim numerem reguły 1 –

+1

@warmoverflow Przepraszam za niewyraźny język. Lista numerowana służy tylko do wyliczenia tego, co już wiem, że Docker jest w stanie. Nie są to zasady, które chcę spełnić. Jest on dołączony, aby poinformować, że wykonałem należytą staranność i szukam pomocy. –

Odpowiedz

6

Dozownik 1.10+ sposób udostępniania plików odbywa się poprzez wolumin, jak w docker volume create.
Oznacza to, że nie potrzebujesz pojemnika przeznaczonego na wolumin danych, możesz bezpośrednio użyć woluminu danych.

W ten sposób można udostępnić i zamontować ten wolumin w kontenerze, który następnie zachowa jego zawartość we wskazanym woluminie.
Jest to bardziej zgodne z działaniem kontenera: izolowanie pamięci, procesora i systemu plików od hosta:: dlatego nie można "zamontować woluminu i pliki kontenera mają pierwszeństwo przed plikiem hosta": , złamałoby izolację pojemnika i naraziłoby hostowi jego zawartość.