Sobes.tech
Junior

Kāda ir jūsu pieredze ar Docker?

sobes.tech AI

Atbilde no AI

Vairāk nekā 5 gadu aktīvas Docker izmantošanas pieredze dažādos projektos.

Pieredze ietver:

  • Dockerfile izstrāde: optimizētu un daudzposmu Dockerfile izveide lietojumprogrammu attēliem (tīmeklis, mikroservisi, datu bāzes utt.).
  • Attēlu pārvaldība: darbs ar Docker Hub, privātiem repozitāriem (GitLab Registry, Nexus), marķēšana, versiju pārvaldība, neizmantoto attēlu tīrīšana.
  • Konteineru darbs: palaišana, apturēšana, pārstartēšana, stāvokļa uzraudzība, žurnālu skatīšana, komandu izpilde konteinerā (docker exec).
  • Docker Compose: izmantošana, lai definētu un palaistu daudzkonteineru lietojumprogrammas, servisu orkestrācija, tīklu un tvertņu pārvaldība.
  • Docker tīklu pārvaldība: dažādu tīkla draiveru (bridge, host, overlay) saprašana un konfigurēšana, lietotāja definētu tīklu izveide pakalpojumu izolācijai.
  • Docker tvertnes: nosaukto tvertņu un bind mounts izmantošana datu saglabāšanai, failu apmaiņai starp hostu un konteineru.
  • Docker drošība: konteineru izolācijas pamatprincipu saprašana, rootless Docker izmantošana (ja iespējams), attēlu ievainojamības skanēšana.
  • CI/CD integrācija: Docker attēlu izveide un publicēšana CI/CD plūsmās (Jenkins, GitLab CI, GitHub Actions).
  • Orkestrācija (pamata zināšanas): Kubernetes darba principu kopēja saprašana (konteineru izvietošana, podi, replikācijas, pakalpojumi), vienkāršu lietojumprogrammu palaišana minikube/Kind vidē testēšanai.

Docker Compose piemēri:

# docker-compose.yaml
version: '3.8'

services:
  app:
    build: .  # Attēla būvēšana no pašreizējās direktorijas
    ports:
      - "80:80" # Hosta 80 porta pārsūtīšana uz konteineru 80 portu
    environment:
      DATABASE_URL: postgres://user:password@db:5432/mydatabase # vidi mainīgie
    depends_on:
      - db # atkarība no db pakalpojuma

  db:
    image: postgres:14 # Standarta postgres attēla izmantošana
    volumes:
      - db_data:/var/lib/postgresql/data # nosauktais tvertne
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydatabase

volumes:
  db_data: # nosauktais tverts