Caracteristici ale volumelor Docker
- Partajarea volumului de date și stocarea între mai multe containere și sisteme de fișiere gazdă.
- Decuplarea containerelor de depozitare.
- Nu șterge datele conținute la ștergerea containerului.
- Faceți backup, restaurați și migrați datele cu ușurință.
În acest tutorial, vom explica ce este un volum Docker și cum să îl utilizați, precum și cum să montați un volum în Docker.
Cerințe
- Un sistem care rulează Linux cu Docker instalat.
- Este configurată o parolă root.
Sintaxa de bază a volumului Docker
Puteți utiliza comanda „volum de andocare” pentru a vedea toate opțiunile disponibile cu volum:
volum dockerAr trebui să vedeți următoarea ieșire după introducerea comenzii de mai sus:
Utilizare: volumul docker COMANDĂGestionați volumele
Comenzi:
creați Creați un volum
inspectați Afișați informații detaliate despre unul sau mai multe volume
Lista volumelor
prune Eliminați toate volumele locale neutilizate
rm Eliminați unul sau mai multe volume
Rulați „docker volume COMMAND --help” pentru mai multe informații despre o comandă.
Creați un volum
Pentru a crea un volum de date, va trebui mai întâi să creați un volum de date pe gazda Docker și să atașați volumul la container.
Puteți crea un volum Docker folosind comanda „docker volume create.”De exemplu, utilizați următoarea comandă pentru a crea un nou volum Docker numit volumul meu:
volumul docker creează volumul meuAr trebui să vedeți următoarea ieșire:
volumul meuPuteți lista volumul existent utilizând următoarea comandă:
volumul docker lsAr trebui să vedeți următoarea ieșire:
NUMELE VOLUMULUI ȘOFERULUIlocal c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
volumul meu local
Dacă doriți să vedeți mai multe informații despre volum, rulați următoarea comandă:
docker inspectează volumul meuAr trebui să obțineți următoarea ieșire după executarea comenzii de mai sus:
["CreatedAt": "2020-09-12T04: 51: 31Z",
„Driver”: „local”,
„Etichete”: ,
"Mountpoint": "/ var / lib / docker / volumes / myvolume / _data",
„Nume”: „volumul meu”,
"Opțiuni": ,
„Domeniu de aplicare”: „local”
]
Montează un volum
În acest moment, aveți un volum numit volumul meu. În acest exemplu, veți crea un container și veți monta un volumul meu în container.
Puteți utiliza opțiunea -mount pentru a monta volumul. Sintaxa de bază pentru montarea volumului în container este prezentată mai jos:
docker run --mount source = volume-name, destination = path-inside-container docker-imagesDe exemplu, pentru a crea un container Ubuntu și a monta volumul meu în container, rulați următoarea comandă:
docker run -it --name = volumecontainer --mount source = myvolume, destination = / data ubuntuAceastă comandă va extrage imaginea Ubuntu din Docker Hub, va porni containerul în modul interactiv cu numele volumecontainer și va monta containerul myvolume în / data din directorul / data:
Imposibil de găsit imaginea „ubuntu: latest” la nivel localcea mai recentă: extragerea din bibliotecă / ubuntu
54ee1f796a1e: Trageți complet
f7bfea53ad12: Trageți complet
46d371e02073: Trageți complet
b66c17bbf772: Trageți complet
Rezumat: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Stare: Imagine mai nouă descărcată pentru Ubuntu: cea mai recentă
root @ 06a477c4e444: / #
Puteți verifica volumul montat cu următoarea comandă:
[e-mail protejat]: / # lsAr trebui să vedeți directorul de date în următoarea ieșire:
bin boot data dev etc home lib lib32 lib64 libx32 media mntopt proc root run sbin srv sys tmp usr var
Acum, vom crea un fișier exemplu numit fișier.txt în interiorul / directorul de date cu următoarea comandă:
ecou "Acesta este un fișier de testare!"> / data / file.txtIeșiți din container cu următoarea comandă:
IeșirePorniți din nou același container cu următoarea comandă:
Docker container start volumecontainerApoi, atașați containerul care rulează cu următoarea comandă:
docker exec -it volumecontainer / bin / bashVerificați dacă fișierul dvs.txt este persistent cu următoarele:
date / fișier de pisică.txtAr trebui să obțineți următoarea ieșire după introducerea comenzii de mai sus:
Acesta este un fișier de testare!
Distribuiți date între containere
De asemenea, puteți partaja date între mai multe containere utilizând volumul Docker.
După cum știți, am creat un volum numit volumul meu, un nou container numit volumecontainer folosind acest volum. De asemenea, am creat un fișier numit fișier.txt în interiorul volumului.
Acum, vom crea un alt container numit volumecontainer1 cu același volum volumul meu folosind următoarea comandă:
docker run -it --name = volumecontainer1 --mount source = myvolume, destination = / data ubuntuRulați comanda ls, așa cum se arată mai jos:
eu suntAr trebui să vedeți directorul de date în următoarea ieșire:
bin boot data dev etc home lib lib32 lib64 libx32media mnt opt proc root run sbin srv sys tmp usr var
Rulați următoarea comandă și verificați fișierul.txt:
pisică / date / fișier.txtAr trebui să vedeți același conținut pe care l-ați creat în containerul anterior:
Acesta este un fișier de testare!
Montați directorul ca volum
Puteți utiliza directorul situat în interiorul sistemului dvs. gazdă Docker ca volum și îl puteți monta în container. De asemenea, puteți utiliza opțiunea -v pentru a obține același lucru, așa cum se arată mai jos:
docker run -v "directory_name": volume_name docker_imageCreați un director numit / date în gazda Docker cu următoarea comandă:
mkdir / DataApoi, creați câteva fișiere în directorul / Data:
cd / Dateatingeți fișierul 1.fișier txt2.fișier txt3.txt
Creați un container nou folosind directorul / Data ca volum cu următoarea comandă:
docker run -it --name = data1 -v / Data: / Data ubuntuAceastă comandă va crea un container nou și va monta volumul cu numele / date.
Rulați următoarea comandă pentru a verifica conținutul directorului / Data:
ls -l / Date /Ar trebui să vedeți toate fișierele pe care le-am creat anterior în sistemul gazdă, așa cum se arată mai jos:
total 0-rw-r - r-- 1 rădăcină rădăcină 0 12 septembrie 05:41 fișier1.txt
-rw-r - r-- 1 rădăcină rădăcină 0 12 sept 05:41 fișier2.txt
-rw-r - r-- 1 rădăcină rădăcină 0 12 sept 05:41 fișier3.txt
Eliminați volumul Docker
Puteți șterge sau elimina cu ușurință volumul utilizând următoarea sintaxă:
docker volume rm volume-nameDe exemplu, pentru a elimina volumul numit volumul meu, executați următoarea comandă:
docker volume rm myvolumeAr trebui să primiți următoarea eroare:
Răspuns la eroare de la daemon: eliminați volumul meu:volumul este în uz - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]
Acest lucru se datorează faptului că volumul dvs. este utilizat de container. Deci, va trebui să opriți și să scoateți recipientul înainte de a elimina volumul.
Pentru a opri și scoate containerul, executați următoarea comandă:
docker container stop volumecontainer volumecontainer1docker container rm volumecontainer volumecontainer1
Acum, puteți elimina cu ușurință volumul.
Concluzie
În ghidul de mai sus, ați aflat ce este volumul Docker, cum să îl creați și cum să îl montați în container. De asemenea, ați învățat cum să partajați date între mai multe containere folosind volumul.