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