Differences

This shows you the differences between two versions of the page.

Link to this comparison view

devops:laboratoare:04 [2021/07/26 15:58]
bogdan.croitoru
devops:laboratoare:04 [2022/07/27 15:59] (current)
bogdan.croitoru
Line 1: Line 1:
-===== Laboratorul 04. Docker ​=====+===== Hands-on session 2/2 - part 3/3 =====
  
 1. Scrieți un script bash care afișează în terminal un mesaj de întâmpinare care să conțină numele vostru. 1. Scrieți un script bash care afișează în terminal un mesaj de întâmpinare care să conțină numele vostru.
Line 10: Line 10:
  
 2. Creați un Dockerfile pentru o imagine bazată pe <​DEBUGBOX>​ care să conțină scriptul vostru în calea /opt/ și care să creeze un utilizator cu același ID ca utilizatorul vostru de pe gazdă cu tot cu directorul său home. 2. Creați un Dockerfile pentru o imagine bazată pe <​DEBUGBOX>​ care să conțină scriptul vostru în calea /opt/ și care să creeze un utilizator cu același ID ca utilizatorul vostru de pe gazdă cu tot cu directorul său home.
 +<note tip>
 +Exemplu comandă pentru adăugarea unui utilizator:
 +''​useradd --create-home --shell /bin/bash --uid 1432 --user-group devops''​
 +</​note>​
  
 3. Construiți imaginea Docker cu acest Dockerfile cu următorul nume: ubuntu-student#​x:​latest. 3. Construiți imaginea Docker cu acest Dockerfile cu următorul nume: ubuntu-student#​x:​latest.
Line 20: Line 24:
  
 7. Creați și porniți un nou container numit ‘container1’ cu un terminal interactiv care să mapeze directorul /​home/​student#​x al gazdei în container peste calea home a utilizatorului creat și folosind ID-ul utilizatorului la pornire. 7. Creați și porniți un nou container numit ‘container1’ cu un terminal interactiv care să mapeze directorul /​home/​student#​x al gazdei în container peste calea home a utilizatorului creat și folosind ID-ul utilizatorului la pornire.
 +<note tip> Docker permite specificarea utilizatorului cu care va porni containerul prin parametrul ''​-u''​ (care așteaptă un ID). </​note>​
  
 8. Navigați în container la calea ~/ , creați un fișier acolo și verificați ce s-a întamplat pe mașina gazdă. 8. Navigați în container la calea ~/ , creați un fișier acolo și verificați ce s-a întamplat pe mașina gazdă.
  
-9. Într-un nou terminal porniți un alt container numit container2 cu același utilizator, dar fără a monta calea home. Aflați adresele IP pentru container1 și container2 și executați comanda ping pentru a ajunge dintr-un container în altul.+9. Într-un nou terminal porniți un alt container numit container2 cu același utilizator, dar fără a monta calea home. Aflați adresele IP pentru container1 și container2 și executați comanda ​"ping" ​pentru a ajunge dintr-un container în altul. 
 + 
 +<​note>​ Prin ce comanda se pot afla IP-urile de pe interfetele unei masini? </​note>​
  
 10. Deschideți un nou terminal si rulați docker inspect container1. Observați rezultatul comenzii. 10. Deschideți un nou terminal si rulați docker inspect container1. Observați rezultatul comenzii.
  
-11. Ștergeți ambele containere ​în aceeași comandă.+11. Ștergeți ambele containere ​folosind ​aceeași comandă.
  
 12. Instalați docker-compose în ~/bin/. Adăugați în PATH această cale. 12. Instalați docker-compose în ~/bin/. Adăugați în PATH această cale.
  cd ~  cd ~
  mkdir bin  mkdir bin
-        ​curl -L "​https://​github.com/​docker/​compose/​releases/​download/​1.29.2/​docker-compose-$(uname -s)-$(uname -m)" -o bin/+ curl -L "​https://​github.com/​docker/​compose/​releases/​download/​1.29.2/​docker-compose-$(uname -s)-$(uname -m)" -o bin/
         export PATH=$PATH:/​home/​student#​x/​bin         export PATH=$PATH:/​home/​student#​x/​bin
 +
 +<note tip>
 +PATH este o variabila default care contine o lista de locatii in care sunt cautate binarele pe care le executam; locatiile sunt verificate secvential, adaugand una la inceput ea va fi verificata prima; in cazul de mai sus, se va folosi ultima pentru ca binarul de docker-compose nu exista in celelalte
 +</​note>​
  
 13. Scrieți un fișier docker-compose.yml în care descrieți un container cu următoarele cerințe: 13. Scrieți un fișier docker-compose.yml în care descrieți un container cu următoarele cerințe:
Line 47: Line 58:
  - Variabile de mediu: STUDENT cu valoarea numele vostru  - Variabile de mediu: STUDENT cu valoarea numele vostru
  - Politica de restart: always  - Politica de restart: always
 +<​note>​ Luați exemplul prezentat drept model </​note>​
  
 14. Porniți containerele cu docker-compose. 14. Porniți containerele cu docker-compose.
 +<note tip> Folosiți funcția de help a comenzii docker-compose pentru a afla ce operații puteți executa </​note>​
  
 15. Afișați lista de containere aflate în rulare folosind utilitarul docker, iar apoi folosind utilitarul docker-compose. 15. Afișați lista de containere aflate în rulare folosind utilitarul docker, iar apoi folosind utilitarul docker-compose.
devops/laboratoare/04.1627304323.txt.gz · Last modified: 2021/07/26 15:58 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0