Docker - zmienne środowiskowe wczytywane z pliku

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 377 razy

Warto przybliżyć sposób przekazywania zmiennych sterujących za pomocą pliku konfiguracyjnego zamiast bezpośredniego umieszczania tychże zmiennych wewnątrz pliku yaml. Okazuje się bowiem, że zamiast:

version: "3.8" services: mongodb: image: mongo environment: MONGO_INITDB_ROOT_USERNAME: AzureDiamond MONGO_INITDB_ROOT_PASSWORD: hunter2 volumes: - mongo-wishes:/data/db nodewishes: build: ./ ports: - 8889:8888 environment: USER: AzureDiamond PASSWORD: hunter2 volumes: - ./:/app depends_on: - mongodb volumes: mongo-wishes:

Można napisać:

version: "3.8" services: mongodb: image: mongo env_file: - mongo.env volumes: - mongo-wishes:/data/db nodewishes: build: ./ ports: - 8889:8888 env_file: - node.env volumes: - ./:/app depends_on: - mongodb volumes: mongo-wishes:

W pliku modgo.env:

MONGO_INITDB_ROOT_USERNAME=AzureDiamond MONGO_INITDB_ROOT_PASSWORD=hunter2

W pliku node.env:

USER=AzureDiamond PASSWORD=hunter2

I teraz można uruchomić całość:

docker-compose up -d
Propozycje książek