Sobes.tech
Junior

Milyen tapasztalata van a Dockerrel?

sobes.tech MI

Válasz az MI-től

Több mint 5 év aktív Docker használat különböző projektekben.

A tapasztalat magában foglalja:

  • Dockerfile fejlesztése: Optimalizált és több szakaszos Dockerfile-ok készítése alkalmazásképek (web, mikro-szolgáltatások, adatbázisok stb.) építéséhez.
  • Képek kezelése: Dolgozás Docker Hub-bal, privát tárolókkal (GitLab Registry, Nexus), címkézés, verziókezelés, nem használt képek tisztítása.
  • Konténerekkel való munka: Indítás, leállítás, újraindítás, állapot figyelése, naplók megtekintése, parancsok végrehajtása a konténerben (docker exec).
  • Docker Compose: Használat többkonténeres alkalmazások meghatározására és futtatására, szolgáltatás-orchestration, hálózatok és kötetek kezelése.
  • Docker hálózatok: Különböző hálózati meghajtók (bridge, host, overlay) megértése és konfigurálása, egyedi hálózatok létrehozása a szolgáltatások izolálására.
  • Docker kötetek: Név szerint megnevezett kötetek és bind mountok használata adatok tárolására, fájlok cseréje a gazda és a konténer között.
  • Docker biztonság: A konténer izoláció alapjainak megértése, rootless Docker használata (ahol lehetséges), képek sebezhetőségek elleni vizsgálata.
  • CI/CD integráció: Docker képek építésének és közzétételének beépítése CI/CD pipeline-okba (Jenkins, GitLab CI, GitHub Actions).
  • Orchestration (alapvető ismeretek): Általános Kubernetes elvek megértése (konténerek telepítése, pódok, replikáció, szolgáltatások), tapasztalat egyszerű alkalmazások futtatásában minikube/Kind környezetben.

Docker Compose példák:

# docker-compose.yaml
version: '3.8'

services:
  app:
    build: .  # Kép építése az aktuális könyvtárból
    ports:
      - "80:80" # A gazda 80-as portjának átirányítása a konténer 80-as portjára
    environment:
      DATABASE_URL: postgres://user:password@db:5432/mydatabase # Környezeti változók
    depends_on:
      - db # Függőség a db szolgáltatástól

  db:
    image: postgres:14 # A standard postgres kép használata
    volumes:
      - db_data:/var/lib/postgresql/data # Tartós kötet az adatokhoz
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydatabase

volumes:
  db_data: # Név szerint megnevezett kötet definiálása