Există mai multe modalități de gestionare a datelor în containerul Docker. Salutați containerele de date.

Pur și simplu containerele de date sunt containere a căror sarcină este doar stocarea / gestionarea datelor.

Similar cu alte containere, acestea sunt gestionate de sistemul gazdă. Cu toate acestea, ele nu apar când efectuați un docker ps comanda.

Pentru a crea un container de date, mai întâi creăm un container cu un nume bine cunoscut pentru referință viitoare. Folosim busybox ca bază, deoarece este mică și ușoară, în cazul în care dorim să explorăm și să mutăm containerul către o altă gazdă.

La crearea containerului, oferim și un volum -v opțiune pentru a defini unde alte containere vor citi / scrie date.

$ docker create -v /config --name dataContainer busybox

Cu containerul în poziție, acum putem copia fișiere din directorul nostru local de clienți în container.

Pentru a copia fișiere într-un container, utilizați comanda docker cp. Următoarea comandă va copia fișierul config.conf fișier în config directorul de dataContainer.

$ docker cp config.conf dataContainer:/config/

Acum, Containerul nostru de date are configurarea noastră, putem face referință la container atunci când lansăm containere dependente care necesită fișierul de configurare.

Folosind magia --volumes-from <container> opțiune putem folosi volumul de montare de la alte containere din interiorul containerului care este lansat. În acest caz, vom lansa un container Ubuntu care face referire la Containerul nostru de date. Când listăm directorul de configurare, acesta va afișa fișierele din containerul atașat.

$ docker run --volumes-from dataContainer ubuntu ls/config

În cazul în care un / config directorul deja exista atunci, volumul-de-la-ar suprascrie și va fi directorul utilizat. Puteți mapa mai multe volume într-un container.


Importați și exportați datele containerului

Datele pot fi importate și exportate dintr-un container, utilizând docker export comanda.

Putem muta Containerul de date pe o altă mașină pur și simplu exportându-l într-un fișier .tar.

$ docker export dataContainer > dataContainer.tar

De asemenea, putem importa Data Container înapoi în Docker.

$ docker import dataContainer.tar