Docker a fost adoptat pe scară largă și este un vehicul excelent pentru a implementa o aplicație în cloud (sau o altă infrastructură pregătită pentru Docker). De asemenea, este util pentru dezvoltarea locală. Puteți porni rapid aplicații complexe, vă puteți dezvolta izolat și aveți în continuare o performanță foarte bună.

Iată cele mai importante comenzi pentru a utiliza Docker în afacerea dvs. zilnică în mod eficient.

Listează toate imaginile Docker

docker images
Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

În cazul meu, am instalate 3 imagini:

  • MySQL, versiunea 8.0.19, una etichetată ca cea mai recentă versiune
  • și Cassandra cu cea mai recentă versiune.

Pentru a obține mai multe informații despre o imagine, o puteți inspecta:

docker inspect mysql:latest
1611782585 243 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Aceasta va returna o listă de informații. Alternativ, puteți utiliza și ID-ul imaginii pentru a obține informațiile:

docker inspect 3a5e53f63281

Rezultatul poate fi copleșitor. Prin urmare, există o opțiune utilă pentru a filtra anumite informații:

docker inspect --format="{{.RepoTags}}  {{.Config.Image}}" 3a5e53f63281
1611782585 921 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Eliminați imaginile Docker

O singură imagine poate fi eliminată prin:

docker rm mysql:latest
1611782585 550 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

În cazul meu, imaginea este încă etichetată cu MySQL: 8.0.19. Prin urmare, pentru ao elimina complet, trebuie să șterg și o altă etichetă de versiune:

docker rm mysql:8.0.19
1611782585 382 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Pentru a elimina direct imaginea, este mai ușor să ștergeți imaginea după id-ul imaginii:

docker image rm 3a5e53f63281 -f
1611782585 79 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Optiunea -f forțează execuția, pentru că altfel veți primi o eroare dacă imaginea este menționată cu mai mult de 1 etichetă.

Porniți o imagine Docker

O imagine poate fi pornită în prim-plan prin:

docker run cassandra

Dacă imaginea nu există, atunci va fi descărcată. Puteți opri execuția apăsând CTRL + C. De asemenea, îl puteți rula în fundal adăugând fișierul -d opțiune:

docker run -d mysql
1611782585 414 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Dacă containerul este pornit în fundal, atunci primiți ID-ul containerului.

În mod implicit, containerul rulează izolat. Prin urmare, nu veți putea comunica cu acesta și nu există fișiere stocate în directorul curent.

Redirecționați porturile unui container

Puteți redirecționa porturi utilizând -p opțiune pentru, de exemplu, o pagină expusă din container:

docker run -p 8080:80 nginx

Acest container NGINX expune un server web pe portul 80. Prin utilizarea -p 8080: 80, portul local 8080 este redirecționat către portul container 80.

Conectați-vă într-un container

Uneori este util să vă conectați la un container. Acest lucru este posibil numai dacă containerul are un shell instalat. Veți primi o eroare dacă acest lucru nu este cazul.

Mai întâi, porniți containerul detașat și dați-i un nume:

docker run -d --name my_container nginx

Aceasta va returna un ID de container. Acum puteți executa un shell în container și puteți atașa intrarea și ieșirea la acesta utilizând opțiunile -i și -t:

docker exec -it my_container bash

În loc de numele containerului, puteți utiliza și ID-ul containerului returnat pentru toate operațiunile următoare. Uneori, bash nu este disponibil. Prin urmare, puteți încerca, de asemenea, să lansați un shell de bază:

docker exec -it my_container sh

Enumerați containerele care rulează

După ce ați început un container, puteți vedea toate containerele care rulează executând:

docker ps
1611782585 877 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Prin anexare -A, containerele ieșite vor fi, de asemenea, listate:

docker ps -a
1611782585 869 Ghid de imagine Docker Cum sa stergeti imaginile Docker sa

Partajați un folder local cu un container

Uneori este util să sincronizați fișierele între container și sistemul de fișiere local. Puteți face acest lucru rulând un container și folosind -v opțiune. Pe Linux și macOS, puteți partaja un folder temporar local cu un container prin:

docker run --name=my_container -d -v $(pwd)/tmp:/var/log/nginx -p 8080:80 nginx

Pe Windows puteți rula:

docker run --name=my_container -d -v %cd%/tmp:/var/log/nginx -p 8080:80 nginx

Opriți rularea containerelor

Este posibil să opriți un container care rulează prin:

docker stop my_container

Oprirea unui container oprește toate procesele, dar păstrează modificările din sistemul de fișiere.

Porniți un container oprit

Un container oprit poate fi pornit de:

docker start my_container

Scoateți un recipient

Pentru a elimina un container oprit, puteți executa:

docker rm my_container

Pentru a opri și a elimina containerul într-o singură comandă, puteți adăuga opțiunea de forțare -f.

docker rm -f my_container

Creați un volum și partajați-l cu mai multe containere

Un volum independent numit SharedData poate fi creat de:

docker volume create --name SharedData

docker run --name=my_container -d -v SharedData:/var/log/nginx -p 8080:80 nginx

docker run --name=my_container_2 -d -v SharedData:/var/log/nginx -p 8080:80 nginx

Ambele containere vor avea un folder partajat, iar fișierele vor fi sincronizate între ambele containere.

Eliminați un volum

Pentru a elimina un volum, toate containerele care folosesc volumul trebuie eliminate.

docker rm -f my_container
docker rm -f my_container_2
docker volume rm SharedData

Eliminați containerele oprite și imaginile neutilizate

O comandă de ordonare sigură este:

docker system prune -a

Eliminați toate volumele neutilizate

Toate volumele nemontate pot fi eliminate de:

docker volume prune

Concluzie

Crearea containerelor, conectarea la containere, redirecționarea porturilor și partajarea volumelor sunt cele mai importante comenzi ale interfeței dvs. de linie de comandă Docker. Ele construiesc bazele unor sisteme precum Kubernetes și ne permit să creăm și să rulăm aplicații în mod izolat.


Sper că ți-a plăcut articolul. Dacă îți place și simți nevoia unei aplauze, urmărește-mă pe Twitter.

Sunt cofondator al platformei noastre revoluționare de călătorie numită Exploreaza lumea. Suntem o tânără startup situată în Dresda, Germania și vom viza mai întâi piața germană. Contactați-mă dacă aveți feedback și întrebări despre orice subiect.

Happy Docker explorând 🙂


Referințe