Curs 1 - Docker: Introducere și Utilizare

Acest curs introduce conceptul de containere, utilizarea Docker și comenzile esențiale pentru gestionarea acestora.

1. Ce este Docker?

Docker este o platformă pentru crearea, rularea și gestionarea containerelor. Containerele sunt unități portabile care includ codul, dependențele și configurațiile necesare pentru a rula o aplicație.

2. Instalarea Docker

Docker poate fi instalat pe Windows, macOS și Linux. Pe Linux, instalarea se face cu:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Pe Windows și macOS, se poate descărca Docker Desktop de pe site-ul oficial: https://www.docker.com/products/docker-desktop.

3. Comenzi de Bază în Docker

Lista principalelor comenzi Docker pentru gestionarea containerelor și imaginilor:

# Verificarea versiunii Docker
docker --version

# Lista containerelor active
docker ps

# Lista tuturor containerelor (inclusiv cele oprite)
docker ps -a

# Lista imaginilor disponibile
docker images

# Descărcarea unei imagini din Docker Hub
docker pull ubuntu

# Crearea și rularea unui container
docker run -it ubuntu bash

# Oprirea unui container
docker stop <ID_CONTAINER>

# Ștergerea unui container
docker rm <ID_CONTAINER>

# Ștergerea unei imagini Docker
docker rmi <ID_IMAGINE>

# Ștergerea tuturor containerelor și imaginilor
docker system prune -a

4. Crearea unui Dockerfile

Un `Dockerfile` este un fișier care definește pașii necesari pentru construirea unei imagini personalizate.

FROM python:3.9
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Construirea și rularea unui container dintr-un Dockerfile:

# Construirea unei imagini
docker build -t myapp .

# Rularea unui container din imaginea creată
docker run -p 5000:5000 myapp

5. Volumes în Docker

Volumele sunt utilizate pentru a păstra datele persistente între rulările containerelor.

# Crearea unui volum
docker volume create myvolume

# Montarea unui volum într-un container
docker run -v myvolume:/data ubuntu

6. Rețele în Docker

Docker permite crearea de rețele personalizate pentru a comunica între containere.

# Crearea unei rețele personalizate
docker network create mynetwork

# Conectarea unui container la rețea
docker run --network mynetwork ubuntu

Resurse suplimentare: