GNU/Linux >> Znalost Linux >  >> Ubuntu

NFS Docker Volumes:Jak vytvořit a používat

Úvod

Svazky Docker jsou preferovaným mechanismem pro nastavení trvalého úložiště pro vaše kontejnery Docker. Svazky jsou existující adresáře na hostitelském souborovém systému připojené uvnitř kontejneru. Lze k nim přistupovat jak z kontejneru, tak z hostitelského systému.

Docker také umožňuje uživatelům připojovat adresáře sdílené přes systém vzdáleného sdílení souborů NFS. Svazky vytvořené pro tento účel používají vlastní ovladač NFS společnosti Docker, což eliminuje potřebu připojovat adresář NFS k hostitelskému systému.

Tento kurz vám ukáže, jak vytvořit a používat NFS Docker Volume.

Předpoklady

  • Server NFS nainstalovaný a nakonfigurovaný na vzdáleném počítači.
  • Docker nainstalovaný na místním počítači.
  • Uživatelský účet s oprávněními root/sudo.

Vytvořit svazek NFS Docker Volume

Nejjednodušší způsob, jak vytvořit a spravovat svazky Dockeru, je pomocí docker volume příkaz a jeho dílčí příkazy.

Syntaxe pro vytvoření svazku NFS Docker zahrnuje dvě možnosti.

  1. --driver možnost definuje local ovladač svazku, který přijímá možnosti podobné mount příkaz v Linuxu.
  2. Položka --opt Volba je volána několikrát, aby poskytla další podrobnosti o svazku.

Podrobnosti zahrnují:

  • Typ svazku.
  • Režim zápisu.
  • IP nebo webová adresa vzdáleného serveru NFS.
  • Cesta ke sdílenému adresáři na serveru.
docker volume create --driver local \
  --opt type=nfs \
  --opt o=addr=[ip-address],rw \
  --opt device=:[path-to-directory] \
  [volume-name]

Níže uvedený příklad ukazuje vytvoření svazku NFS Docker s názvem nfs-volume . Svazek obsahuje /mnt/nfsdir adresář umístěný na serveru s rw (čtení/zápis) oprávnění. IP adresa serveru je 10.240.12.70 .

Úspěšně provedený příkaz vypíše název svazku.

Seznam dostupných svazků Docker.

docker volume ls

Výstup uvádí svazek, který jste vytvořili.

Zkontrolujte svazek pomocí inspect dílčí příkaz.

docker volume inspect [volume-name]

Výstup zobrazuje konfiguraci hlasitosti.

Připojit NFS do kontejneru

Chcete-li připojit svazek NFS do kontejneru, nainstalujte nfs-common balíček na hostitelském systému.

Začněte aktualizací repozitářů.

sudo apt update

Použijte APT k instalaci nfs-common balíček.

sudo apt install nfs-common

Potvrďte, že chcete balíček nainstalovat, a počkejte na dokončení instalace.

Ke spuštění kontejneru použijte příkaz docker run. Určete svazek NFS a bod připojení v --mount sekce.

docker run -d -it \
  --name [container-name] \
  --mount source=[volume-name],target=[mount-point]\
  [image-name]

Níže uvedený příklad připojuje svazek NFS s názvem nfs-volume do /mnt adresář v kontejneru.

Potvrďte, že byl svazek úspěšně připojen pomocí docker inspect příkaz.

docker inspect [container-name]

Mounts část výstupu obsahuje svazky namontované v kontejneru.

Zadejte bash shell prostředí kontejneru pomocí docker exec :

docker exec -it [container-name] /bin/bash

Vypište obsah /mnt adresář.

ls /mnt

Výstup zobrazuje soubory hostované v /mnt/nfsdir adresář na serveru.

Pokud vytvoříte soubor v kontejneru Docker, bude také přístupný v původním adresáři na serveru. Chcete-li otestovat, použijte dotykový příkaz k vytvoření prázdného souboru v /mnt adresář.

touch /mnt/docker1.txt

Na serveru přejděte do adresáře, který jste sdíleli, a vypište jeho obsah. Zobrazí se soubor vytvořený v kontejneru Docker.

Připojení svazků NFS pomocí Docker Compose

Pokud ke správě kontejnerů používáte Docker Compose, připojte svazek NFS jeho definováním v souboru YML.

Vytvořte soubor YML.

nano docker-compose.yml

Definujte svazek NFS v volumes sekce.

version: "3.2"

services:
  [service-name]:
    image: [docker-image]
    ports:
      - "[port]:[port]"

    volumes:
      - type: volume
        source: [volume-name]
        target: /nfs
        volume:
          nocopy: true
volumes:
  [volume-name]:
    driver_opts:
      type: "nfs"
      o: "addr=[ip-address],nolock,soft,rw"
      device: ":[path-to-directory]"

Vytvořte a spusťte kontejner pomocí docker-compose up příkaz.


Ubuntu
  1. Jak vytvořit a používat subdomény

  2. Jak nainstalovat a používat Docker v Ubuntu 20.04

  3. Co jsou svazky Docker a jak je používáte?

  1. Jak nastavit a používat soukromý registr dockerů

  2. Docker Volumes:Jak vytvořit a začít

  3. Tajemství Kubernetes – Jak vytvářet, používat a přistupovat k tajemstvím

  1. Jenkins Shared Library:Jak vytvářet, konfigurovat a používat

  2. Jak nainstalovat a používat Docker na Ubuntu 20.04

  3. Jak nainstalovat a používat Docker na Ubuntu 18.04