Jak udostępniać dane między kontenerem Docker i systemem hosta za pomocą objętości

Jak udostępniać dane między kontenerem Docker i systemem hosta za pomocą objętości

Najłatwiejszym sposobem udostępniania danych między kontenerem Docker a systemem hosta jest użycie wolumenu Dockera. W tym przewodniku przejdziemy instrukcje krok po kroku udostępniania plików między kontenerem Docker i systemem hosta za pomocą woluminów Docker za pośrednictwem wiersza poleceń w Linux.

CZY WIEDZIAŁEŚ?
Wolume Docker działają podobnie do wiązania mocowania, ale są preferowaną metodą udostępniania danych między systemem hosta i kontenera Docker, ponieważ aplikacje zewnętrzne nie są w stanie uzyskać dostępu do plików i ich modyfikować.

W tym samouczku nauczysz się:

  • Jak używać woluminów do udostępniania danych między kontenerem Docker i systemem hosta
Udostępnianie danych z systemu hosta do kontenera Docker Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Każda dystrybucja Linux
Oprogramowanie Doker
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Udostępnij dane między kontenerem Docker i hostem



Rozważ następujący przykład.

  1. Po pierwsze, w systemie hosta tworzymy katalog z jednym plikiem, który chcielibyśmy udostępnić go kontenerowi Docker:
    # mkdir dane 
  2. Następnie uruchamiamy kontener Docker i używamy -v Opcja zamontowania lokalnego katalogu systemu hosta Data1 do katalogu kontenera /opt/data1. Należy pamiętać, że jeśli cel nie istnieje, zostanie on utworzony przez polecenie Docker. Ponadto Docker akceptuje jedynie pełną ścieżkę do lokalnego katalogu systemu hosta i z tego powodu musimy prefiksować Data1 katalog z $ Pwd/ Zmienna środowiskowa, która zwraca pełną ścieżkę do aktualnego katalogu roboczego:
    # Docker Run -v $ pwd/data1:/opt/data1 -it debian/bin/bash 
  3. W rezultacie powyższego polecenia jest to, że możemy teraz uzyskać dostęp do naszego wcześniej utworzonego pliku plik 1 Z wewnątrz pojemnika:
    # CAT/Opt/Data1/File1 Docker Volume Share 

To wszystko. Możesz teraz udostępniać dowolne pliki między systemem hosta a kontenerami Docker za pomocą zamontowanego woluminu. Jeśli napotykasz jakiekolwiek błędy, zobacz poniżej sekcję rozwiązywania problemów.

Wniosek

W tym przewodniku nauczyliśmy się udostępniać dane między systemem hosta a kontenerem Docker za pomocą objętości. Jest to najlepszy i najłatwiejszy sposób na udostępnienie danych między dwoma systemami w Linux, wymagając tylko kilku krótkich kroków.



Rozwiązywanie problemów

Jeśli napotykasz następujący błąd:

FATA [0000] Odpowiedź błędu z demona: Nie można wiązać objętości montowania: Data1 Ścieżki głośności muszą być bezwzględne. 

Oznacza to, że musisz podać pełną ścieżkę do katalogów źródłowych i docelowych. Wskazówka: pełna ścieżka zawsze zaczyna się od /.

Możesz również napotkać to uprawnienie odrzucone błąd:

# ls/opt/data1/ls: nie można otworzyć katalogu/opt/data1/: odmowa uprawnień 

Ten błąd jest spowodowany przez Selinux działający w lokalnym systemie hosta. Poniższe dwa rozwiązania pomogą rozwiązać ten problem. Po pierwsze, rozwiązanie polega na wyłączeniu Selinux w lokalnym systemie hosta.

# setenforce 0 

Ponieważ wyłączenie Selinux może utrudniać integralność systemu hosta, może być łatwiejsze podanie pojemnikowi rozszerzone uprawnienia, z dokera --uprzywilejowany = prawda opcja:

# Docker Run --privileged = true -v $ pwd/data1:/opt/data1 -it debian/bin/bash 

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mastering Bash Script Loops
  • Ubuntu 20.04 Przewodnik
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak podwójnie rozruch Kali Linux i Windows 10
  • Hung Linux System? Jak uciec do wiersza poleceń i…
  • Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć