Sobes.tech
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