Docker - zmienne środowiskowe wczytywane z pliku
Stronę tą wyświetlono już: 84 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