GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Volumi Docker NFS:come creare e utilizzare

Introduzione

I volumi Docker sono il meccanismo preferito per configurare l'archiviazione persistente per i contenitori Docker. I volumi sono directory esistenti sul filesystem host montato all'interno di un container. Sono accessibili sia dal container che dal sistema host.

Docker consente inoltre agli utenti di montare directory condivise sul sistema di condivisione file remota NFS. I volumi creati a questo scopo utilizzano il driver NFS di Docker, eliminando la necessità di montare la directory NFS sul sistema host.

Questo tutorial ti mostrerà come creare e utilizzare i volumi Docker NFS.

Prerequisiti

  • Server NFS installato e configurato sulla macchina remota.
  • Docker installato sul computer locale.
  • Un account utente con privilegi root/sudo.

Crea volume Docker NFS

Il modo più semplice per creare e gestire i volumi Docker è utilizzare il docker volume comando e i suoi sottocomandi.

La sintassi per la creazione di un volume Docker NFS include due opzioni.

  1. Il --driver l'opzione definisce il local driver del volume, che accetta opzioni simili a mount comando in Linux.
  2. Il --opt l'opzione viene chiamata più volte per fornire ulteriori dettagli sul volume.

I dettagli includono:

  • Il tipo di volume.
  • La modalità di scrittura.
  • L'indirizzo IP o web del server NFS remoto.
  • Il percorso della directory condivisa sul server.
docker volume create --driver local \
  --opt type=nfs \
  --opt o=addr=[ip-address],rw \
  --opt device=:[path-to-directory] \
  [volume-name]

L'esempio seguente illustra la creazione di un volume Docker NFS denominato nfs-volume . Il volume contiene il /mnt/nfsdir directory situata sul server, con il rw autorizzazione (lettura/scrittura). L'indirizzo IP del server è 10.240.12.70 .

Il comando eseguito con successo restituisce il nome del volume.

Elenca i volumi Docker disponibili.

docker volume ls

L'output elenca il volume che hai creato.

Ispeziona il volume con inspect sottocomando.

docker volume inspect [volume-name]

L'output mostra la configurazione del volume.

Monta NFS in un contenitore

Per montare il volume NFS in un container, installa nfs-common pacchetto sul sistema host.

Inizia aggiornando i repository.

sudo apt update

Usa APT per installare nfs-common pacchetto.

sudo apt install nfs-common

Conferma di voler installare il pacchetto e attendi il termine dell'installazione.

Utilizzare il comando docker run per avviare il contenitore. Specifica il volume NFS e il punto di montaggio nel --mount sezione.

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

L'esempio seguente monta il volume NFS denominato nfs-volume al /mnt directory nel contenitore.

Conferma che il volume è stato montato correttamente utilizzando docker inspect comando.

docker inspect [container-name]

I Mounts sezione dell'output contiene i volumi montati nel contenitore.

Entra nella shell bash dell'ambiente contenitore con docker exec :

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

Elenca il contenuto del /mnt directory.

ls /mnt

L'output mostra i file ospitati nel /mnt/nfsdir directory sul server.

Se crei un file all'interno del contenitore Docker, sarà accessibile anche nella directory originale sul server. Per eseguire il test, utilizza il comando touch per creare un file vuoto in /mnt directory.

touch /mnt/docker1.txt

Sul server, vai alla directory che hai condiviso ed elenca i suoi contenuti. Viene visualizzato il file creato nel contenitore Docker.

Montaggio di volumi NFS con Docker Compose

Se utilizzi Docker Compose per gestire i tuoi container, monta il volume NFS definendolo nel file YML.

Crea il file YML.

nano docker-compose.yml

Definisci il volume NFS nei volumes sezione.

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]"

Crea e avvia il contenitore con la docker-compose up comando.


Ubuntu
  1. Come configurare e utilizzare il registro Docker privato

  2. Volumi Docker:come creare e iniziare

  3. Come creare e utilizzare i sottodomini

  4. Come installare e utilizzare Docker in Ubuntu 20.04

  5. Cosa sono i volumi Docker e come li usi?

Come installare e utilizzare Docker Compose su Debian 9

Come installare e utilizzare Docker-Compose su CentOS 7

Come creare e utilizzare fatti personalizzati in Ansible

Come creare e utilizzare file di scambio su Linux

Come installare e utilizzare Docker su Ubuntu 22.04

Come installare e utilizzare Docker su AlmaLinux 8