Crearea fișierelor compose.yaml

Docker intermediar

Mike Metzger

Data Engineering Consultant

YAML

  • Yet Another Markup Language
    • YAML Ain't Markup Language
  • Fișier text, dar indentarea contează (ca în Python)
  • Utilizat frecvent în dezvoltare pentru configurare
  • Regulile pot fi dificile; în principal, păstrați intrările aliniate ca în exemple
services:
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
      - "5432:5432"
    restart: always
  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4:latest
    ports:
      - "5050:80"
    restart: always
Docker intermediar

Secțiuni principale

  • Diferite secțiuni gestionează componente diferite
  • services: listează containerele de încărcat
  • networks: gestionează definițiile de rețea
  • volumes: controlează montarea volumelor
  • configs: gestionează opțiunile de configurare fără imagini personalizate
  • secrets: oferă opțiuni pentru parole, token-uri, chei API etc.
  • Consultați Documentația Docker Compose pentru mai multe informații
services:
  ... # Define containers

networks: ... # Define any networking details
volumes: ... # Define storage requirements
configs: ... # Define special config details
secrets: ... # Define passwords / etc
1 https://docs.docker.com/compose/compose-file/
Docker intermediar

Secțiunea services

  • Definește toate resursele necesare aplicației
  • Specifică în principal containerele și imaginile utilizate
  • Opțiuni extinse disponibile, aplicabile individual fiecărui container
  • Indentarea se aplică după necesitate
  • Prima subsecțiune este numele fiecărei componente, urmată de setări
Docker intermediar

Exemplu de servicii

services:

# Nume resursă postgres:
# Nume container, altfel aleatoriu container_name: postgres
# Imaginea containerului utilizată image: postgres:latest
# Mapări de porturi necesare ports: # Detalii rețea - "5432:5432"
# Următoarea resursă pgadmin: ...
  • Numele resursei
  • container_name:, numele atribuit containerului, altfel este aleatoriu
  • image:, imaginea containerului utilizată
  • ports:, listă cu mapările de porturi necesare
  • Urmat de resursele următoare necesare
Docker intermediar

Observații suplimentare

  • Sintaxa config.yaml este extinsă
    • Acoperim doar o mică parte din opțiunile compose.yaml
    • Consultați documentația!
  • De obicei nu este necesar să creați un fișier compose.yaml de la zero
1 https://docs.docker.com/compose/compose-file/
Docker intermediar

Să exersăm!

Docker intermediar

Preparing Video For Download...