GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come condividere i dati tra contenitori Docker

Introduzione

Docker consente agli utenti di eseguire varie applicazioni isolate dal computer host, senza la necessità di disporre di sistemi operativi separati per l'esecuzione. Invece, installi e gestisci i container Docker con un motore di containerizzazione (daemon Docker), che ha un ruolo simile all'hypervisor per le macchine virtuali.

Quando inizi a utilizzare Docker, affronterai situazioni in cui devi sapere come condividere i dati tra i contenitori.

Prerequisiti

  • Un utente con privilegi sudo
  • Accesso a un terminale/riga di comando
  • Una versione stabile di Docker

Passaggio 1:crea un container con volume di dati

Per dimostrare come condividere tra due contenitori devi creare un contenitore (Container1 ) con volume di dati (volume di dati1 ) puoi condividere in seguito.

1. Innanzitutto, crea un volume indipendente che condividerai tra due contenitori Docker:

docker volume create --name DataVolume1

2. Quindi, crea un contenitore Docker e denominalo Contenitore1 con il volume di dati allegato eseguendo il comando seguente:

docker run -ti --name=Container1 -v DataVolume1:/datavolume1 ubuntu

2. Quindi, crea un file nel volume di dati e aggiungi del testo:

echo "Share this file between containers" > /datavolume1/Example.txt

3. Esci dal container con il comando:exit

Fase 2:crea un nuovo contenitore e aggiungilo al volume di dati

Quindi, crea un nuovo contenitore (Container2 ) che condividerà i file con Container1 .

1. Crea Contenitore2 e monta i volumi da Container1 :

docker run -ti --name=Container2 --volumes-from Container1 ubuntu

2. Aggiungi testo da Contenitore2 per mostrare che entrambi i contenitori possono scrivere su DataVolume1 :

echo "This will also appear in DataVolume1" >> /datavolume1/Example.txt

3. Per uscire da Container2 usa il comando:exit

Passaggio 3:verifica di poter condividere dati tra container Docker

1. Riavvia Contenitore1 per verificare le modifiche al volume dei dati:

docker restart Container1

2. Conferma che entrambi i contenitori possono leggere e scrivere sullo stesso volume di dati e che il testo che hai scritto in Contenitore2 appare in DataVolume1 :

cat /datavolume1/Example.txt

Se il testo è stato aggiunto correttamente al volume di dati, l'output dovrebbe visualizzare quanto segue:

Share this file between containers
This will also appear in DataVolume1

3. Per finire, esci dal container con il comando:exit

Facoltativo:crea volumi di sola lettura

La creazione di un contenitore Docker di "sola lettura" impedisce ad altri di apportare modifiche ai dati, consentendo loro solo di visualizzare i file.

Aggiungi :ro al nome del contenitore che deve essere condiviso ma non modificato.

Nell'esempio seguente, Contenitore2 potrà vedere i file da Container1 ma non sarà in grado di modificarli.

docker run -ti --name=Container2 --volumes-from Container1:ro ubuntu

Per verificare se Contenitore2 dispone dei privilegi di sola lettura, prova a rimuovere il file di esempio da Container1 eseguendo il comando:

rm /datavolume1/Example.txt

L'output dovrebbe mostrare che hai creato correttamente un file di sola lettura. Di conseguenza, altri contenitori possono accedere e visualizzare i dati, ma non possono apportare alcun contributo o modifica agli stessi.


Ubuntu
  1. Come condividere dati tra contenitori Docker su Ubuntu 22.04

  2. Come usare Docker Compose

  3. Come collegare i contenitori Docker

  4. Come passare le variabili d'ambiente ai container Docker

  5. Come condividere i dati tra contenitori Docker

Come installare Docker Portainer per gestire i container

Come ridurre le dimensioni dell'immagine Docker nei contenitori Docker

Come eseguire i contenitori Docker

Come rimuovere i contenitori Docker

Come fermare i container Docker

Come gestire i container Docker