Obiective
În această lecție, veți învăța:
- Ce sunt containerele Docker și de ce sunt utile
- Instalarea și configurarea Docker
- Crearea și gestionarea imaginilor Docker pentru aplicațiile Python
- Utilizarea Docker Compose pentru a gestiona mai multe containere
- Publicarea aplicațiilor Python în registre Docker
1. Ce sunt containerele Docker și de ce sunt utile
Docker este o platformă care permite dezvoltatorilor să creeze, să distribuie și să ruleze aplicații în containere. Un container este o unitate standardizată de software care include codul, dependențele și mediul de rulare necesare pentru a rula o aplicație. Containerele Docker oferă mai multe avantaje, cum ar fi:
- Izolare: Containerele se execută independent de sistemul de operare gazdă și de alte containere, ceea ce asigură izolarea resurselor și proceselor.
- Portabilitate: Containerele pot fi rulate pe orice sistem care suportă Docker, fără a necesita configurări suplimentare.
- Consistență: Containerele asigură o experiență consistentă între diferite etape ale ciclului de dezvoltare și între mai mulți dezvoltatori.
- Scalabilitate: Containerele pot fi scalate orizontal și distribuite în cluster-uri pentru a satisface cerințele aplicațiilor de înaltă performanță.
2. Instalarea și configurarea Docker
Pentru a începe să utilizați Docker, trebuie să instalați și să configurați Docker pe sistemul dvs.:
-
Accesați site-ul Docker la https://www.docker.com/ și descărcați Docker Desktop pentru sistemul dvs. de operare (Windows, macOS sau Linux).
-
Instalați Docker Desktop urmând instrucțiunile de instalare specifice sistemului dvs. de operare.
-
După instalare, lansați Docker Desktop și verificați că funcționează corect, executând următoarea comandă în terminal:
bash
-
docker --version ``` Această comandă ar trebui să afișeze versiunea Docker instalată pe sistemul dvs.
3. Crearea și gestionarea imaginilor Docker pentru aplicațiile Python
Pentru a crea un container Docker pentru o aplicație Python, urmați acești pași:
-
Creați un fișier
Dockerfileîn directorul rădăcină al aplicației dvs. Python. Acest fișier conține instrucțiunile necesare pentru a construi imaginea Docker a aplicației. -
Adăugați următorul conținut în fișierul
Dockerfile:dockerfile
-
# Folosiți o imagine de bază Python FROM python:3.9 # Setează directorul de lucru WORKDIR /app # Copiați fișierul de cerințe în container COPY requirements.txt . # Instalați dependențele aplicației RUN pip install --no-cache-dir -r requirements.txt # Copiați fișierele aplicației în container COPY . . # Expuneți portul pe care rulează aplicația EXPOSE 8000 # Comanda pentru a rula aplicația CMD ["python", "app.py"] ``` -
Asigurați-vă că aplicația dvs. Python are un fișier
requirements.txtcare conține toate dependențele necesare. -
Construiți imaginea Docker a aplicației, înlocuind
myappcu numele dorit pentru imagine:bash -
docker build -t myapp . ``` -
După ce imaginea a fost construită, puteți rula un container Docker bazat pe această imagine:
bash
-
docker run -p 8000:8000 -d --name myapp-container myapp ``## 4. Utilizarea Docker Compose pentru a gestiona mai multe containere
Docker Compose este un instrument pentru a defini și gestiona aplicații care utilizează mai multe containere Docker. Acesta permite definirea serviciilor, rețelelor și volumelor utilizate de aplicație într-un singur fișier docker-compose.yml.
Pentru a crea un fișier docker-compose.yml pentru aplicația dvs. Python, urmați acești pași:
-
În directorul rădăcină al aplicației dvs. Python, creați un fișier numit
docker-compose.yml. -
Adăugați următorul conținut în fișierul
docker-compose.yml, înlocuindmyappcu numele dorit pentru imaginea Docker a aplicației:yaml
-
version: '3.9' services: myapp: build: . image: myapp ports: - "8000:8000" -
Acum, puteți utiliza Docker Compose pentru a construi și rula aplicația într-un container Docker:
bash -
docker-compose up -d ``` Această comandă va construi imaginea și va crea un container care rulează aplicația, expunând portul 8000. -
Pentru a opri și elimina serviciile definite în
docker-compose.yml, executați:bash
-
docker-compose down ```
5. Publicarea aplicațiilor Python în registre Docker
După ce ați construit imaginea Docker a aplicației dvs. Python, puteți să o publicați într-un registru Docker, cum ar fi Docker Hub, pentru a facilita distribuirea și rularea aplicației pe alte sisteme.
-
Înregistrați-vă pentru un cont Docker Hub la https://hub.docker.com/ dacă nu aveți deja unul.
-
Autentificați-vă în contul Docker Hub prin execuția următoarei comenzi:
bash
-
docker login ``` Introduceți numele de utilizator și parola contului dvs. Docker Hub când vi se solicită. -
Etichetați imaginea Docker a aplicației cu numele de utilizator Docker Hub și numele repository-ului dorit:
bash -
docker tag myapp <your-docker-username>/myapp ``` Înlocuiți `<your-docker-username>` cu numele de utilizator Docker Hub. -
Încărcați imaginea Docker în Docker Hub:
bash
-
docker push <your-docker-username>/myapp ``` Această comandă va încărca imaginea Docker în Docker Hub, unde poate fi accesată și rulată pe alte sisteme care suportă Docker. Pentru a rula aplicația pe un sistem diferit, utilizați următoarea comandă: ````bash docker run -p 8000:8000 -d --name myapp-container <your-docker-username>/myapp ``` Aceasta va descărca și rula imaginea Docker a aplicației, expunând portul 8000.
Încheiere
În această lecție, ați învățat cum să utilizați containerele Docker pentru a dezvolta și distribui aplicații Python. Docker vă permite să creați aplicații izolate, portabile și scalabile, facilitând colaborarea și distribuirea aplicațiilor între diferite sisteme și medii de dezvoltare.