Junior
Milline on teie kogemus Dockeriga?
sobes.tech AI
Vastus AI-lt
Enam kui 5 aastat aktiivset Docker kasutamist erinevates projektides.
Kogemus hõlmab:
- Dockerfile arendus: optimeeritud ja mitmetasandiliste Dockerfile-ide loomine rakenduse piltide jaoks (veeb, mikroteenused, andmebaasid jne).
- Piltide haldamine: töö Docker Hub-iga, privaatsete hoidlate (GitLab Registry, Nexus) kasutamine, siltide määramine, versioonimine, kasutamata piltide puhastamine.
- Konteineritega töötamine: käivitamine, peatamine, taaskäivitamine, oleku jälgimine, logide vaatamine, käskude täitmine konteineris (
docker exec). - Docker Compose: kasutamine mitmekonteineriliste rakenduste määratlemiseks ja käivitamiseks, teenuste orkestreerimiseks, võrkude ja mahtude haldamiseks.
- Docker võrgud: erinevate võrgudraiverite (bridge, host, overlay) mõistmine ja seadistamine, kasutaja määratletud võrkude loomine teenuste isolatsiooniks.
- Docker mahud: nimetatud mahtude ja bind mounts kasutamine andmete salvestamiseks, failide vahetamiseks hosti ja konteineri vahel.
- Docker turvalisus: konteinerite isolatsiooni põhimõtete mõistmine, rootless Docker kasutamine (kui võimalik), piltide haavatavuste skaneerimine.
- CI/CD integreerimine: Docker piltide loomine ja avaldamine CI/CD torujuhtmetes (Jenkins, GitLab CI, GitHub Actions).
- Orkestreerimine (põhiteadmised): Kubernetes tööpõhimõtete üldine mõistmine (konteinerite paigutus, podid, replikatsioonid, teenused), lihtsate rakenduste käivitamine minikube/Kind keskkonnas testimiseks.
Docker Compose kasutamise näited:
# docker-compose.yaml
version: '3.8'
services:
app:
build: . # Pildi ehitamine käesolevast kataloogist
ports:
- "80:80" # Hosti 80 pordi suunamine konteineri 80 pordile
environment:
DATABASE_URL: postgres://user:password@db:5432/mydatabase # keskkonnamuutujad
depends_on:
- db # sõltuvus db teenusest
db:
image: postgres:14 # Standartne postgres pilt
volumes:
- db_data:/var/lib/postgresql/data # nimeline maht
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydatabase
volumes:
db_data: # nimeline maht