Cum să utilizați Docker pentru a încerca software-ul în siguranță

Configurare noua (How To)

Situatie

Docker vă permite să împachetați software-ul ca containere autonome care partajează kernel-ul gazdei lor, dar arată și se simt ca VM independente. Software-ul din interior rulează cu performanțe aproape native. Acest lucru face ca containerele Docker să fie o modalitate excelentă de a încerca în siguranță pachete noi, fără a le instala „bare metal” pe mașina dvs. Iată câteva dintre tehnicile pe care le puteți folosi.

De ce să folosiți Docker pentru a încerca software-ul?
Instalarea direct dintr-un manager de pachete nu este întotdeauna de dorit atunci când încercați software pentru prima dată. Este posibil să nu doriți să rulați un daemon nedovedit sau un serviciu de rețea pe hardware-ul dvs. Unele programe de dezinstalare nu vor elimina fiecare fișier conectat la pachetul lor, lăsând mașina dvs. aglomerată cu configurații orfane dacă decideți că nu veți folosi software-ul pe termen lung.

În cel mai rău caz, pachetul pe care îl descărcați ar putea fi chiar rău intenționat sau compromis. Optarea pentru o instalație bare metal vă pune datele în pericol. În momentul în care sunteți conștient de o problemă, atacatorii ar fi putut deja să obțină informații sensibile din scriptul lor de instalare nefast.

Containerele Docker vă oferă o cutie de nisip izolată unde puteți instala pachete noi fără să vă faceți griji pentru aceste preocupări. În comparație cu pornirea unei VM cu totul noi, Docker este mai ușor și mai rapid, dar oferă un nivel similar de securitate atunci când este configurat pentru o execuție sigură.

Pachetele pe care le instalați într-un container vor modifica sistemul de fișiere al containerului respectiv, lăsând intacte datele gazdei dvs. Pachetele rău intenționate vor avea mult mai greu să compromită sistemul dvs., deoarece vor trebui să iasă din container pentru a ajunge la gazda dvs. Instalatorii care caută fișiere de configurare interesante din alte pachete vor vedea un sistem de fișiere proaspăt în locul datelor dvs. de utilizator.

Dacă se dovedește că un pachet nu este potrivit pentru dvs., „dezinstalați” pur și simplu ștergând containerul Docker în sandbox. Nu va mai rămâne nicio urmă pe sistemul dumneavoastră.

Găsirea imaginilor Docker
Când doriți să încercați ceva nou, este mai bine să căutați mai întâi Docker Hub și să vedeți dacă există deja o imagine de container pentru pachetul ales. Imaginile oferă implementări gata de utilizare ale unui software specific, similar unui ISO VM care a fost preconfigurat cu un set de pachete.

Multe proiecte populare oferă acum imagini oficiale Docker ca parte a lansărilor lor. Acestea sunt marcate clar pe Docker Hub cu o insignă verde „Imagine oficială”.

Uneori s-ar putea să găsiți o imagine neoficială care oferă pachetul pe care îl căutați, dar este publicată de un membru al comunității. Merită să verificați mai întâi statisticile de descărcare pentru a evalua dacă alții îl folosesc cu succes.

De asemenea, ar trebui să vă asigurați că imaginea are o variantă pentru versiunea de software dorită. Imaginile vor distinge diferite versiuni folosind etichetele Docker, cum ar fi mongo:5 pentru MongoDB 5 și mongo:4 pentru MongoDB 4. Utilizați vizualizarea Etichete Docker Hub pentru a vedea opțiunile disponibile și când au fost actualizate ultima dată.

Utilizarea unei imagini
După ce ați găsit o imagine, porniți un container din ea. Ar trebui să consultați descrierea imaginii dvs. pe Docker Hub pentru a obține instrucțiuni specifice pentru software-ul pe care l-ați selectat.

În general, imaginile care împachetează o aplicație interactivă pot fi pornite folosind această secvență:

docker run -it example-image:latest

Începeți imaginile care furnizează procese de fundal cu indicatorul -d:

docker run -d example-image:latest

Comanda docker run pornește un container folosind imaginea specificată. Software-ul dumneavoastră rulează acum într-un mediu izolat cu propriul sistem de fișiere. Puteți rula mai multe instanțe independente simultan, pornind mai multe containere din imagine.

Ce se întâmplă dacă nu există nicio imagine?
Absența unei imagini Docker oficiale – sau neoficiale – pentru pachetul software ales nu este sfârșitul călătoriei tale de încercare cu Docker. În această situație, creați un container dintr-o imagine de bază a sistemului de operare pentru a găzdui mediul dumneavoastră izolat. Puteți rula apoi procedura obișnuită de instalare a software-ului pentru a-l introduce în container.

Iată un exemplu care pornește un nou mediu Ubuntu în Docker:

docker run -it ubuntu:20.04

Indicatoarele -it înseamnă că veți fi aruncat într-un shell interactiv care rulează în terminal. Acum puteți folosi apt, curl, wget sau orice alți pași necesari pentru a instala și încerca pachetul țintă.

apt update
apt install example-package
example-package --example-flags

Dacă doriți să repetați acești pași din nou în viitor, scrieți un Dockerfile care vă permite să vă construiți propria imagine:

FROM ubuntu:20.04
apt update
apt install example-package
ENTRYPOINT ["example-package"]
CMD [""]

Construiește-ți imaginea:

docker build -t example-package:latest .

Acum folosiți imaginea pentru a porni un container care rulează automat pachetul de exemplu binar adăugat la imaginea de bază Ubuntu:

docker run -it example-package:latest --example-flags

Acest lucru funcționează deoarece binarul este setat ca comanda imaginii Docker în fișierul dvs. Docker. Acesta va rula automat când containerul pornește, primind steagurile pe care le transmiteți către docker run.

Utilizarea Docker oferă o oportunitate de a scana software-ul înainte de al rula. Componenta Docker Scan încorporată identifică vulnerabilitățile din pachetele dintr-o imagine, oferindu-vă o imagine de ansamblu asupra implicațiilor de securitate. Utilizați docker scan example-package:latest pentru a scana imaginile descărcate.

Puteți alege să continuați să utilizați instalarea software-ului Dockerized după experimentarea inițială. Alternativ, puteți folosi ceea ce ați învățat pentru a configura o instalare bare metal funcțională, cu o încredere sporită că pachetul face ceea ce pretinde.

Solutie

Tip solutie

Permanent

Voteaza

(5 din 10 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?