Rozumiem, że za pomocą polecenia scale można za pomocą komendy docker tworzyć wiele kontenerów. Jednak wszystkie będą miały tę samą konfigurację.Używanie funkcji Docker-Compose do zakręcania wielu instancji kontenera o różnych konfiguracjach
Czy jest możliwe uruchomienie kontenera na tym samym hoście z różnymi konfiguracjami (różne pliki .yml
) na tym samym hoście?
Korzystanie następujące polecenia:
docker-compose -f dev.yml up -d
docker-compose -f qa.yml up -d
tylko pojemnik qa.yml
zostanie uruchomiony, co nie jest to, co chcę.
- edit -
Oto co się dzieje, gdy próbuję działa zarówno poleceń.
$ docker-compose -f compose/dev.yml up -d
compose_mydocker_1 is up-to-date
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
905912df6e48 compose_mydocker "/sbin/my_init" 2 days ago Up 2 days 0.0.0.0:1234->80/tcp compose_mydocker_1
$ docker-compose -f compose/qa.yml up -d
Recreating compose_mydocker_1...
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3fc912201224 compose_mydocker "/sbin/my_init" 5 seconds ago Up 5 seconds 0.0.0.0:1235->80/tcp compose_mydocker_1
Moja qa.yml
i dev.yml
wyglądać następująco:
mydocker:
build: ..
ports:
- "1234:80" #for dev.yml
#- "1235:80" for qa.yml
environment:
- ENVIRONMENT=dev #and vice-versa for qa
volumes:
- ../assets/images:/var/www/assets
co dzieje się podczas uruchamiania zarówno polecenia? I drugie pytanie: dlaczego potrzebne są obie konfiguracje jednocześnie na tym samym hoście? – Opal
możesz wkleić dziennik z uruchamiania systemu DACH "dev" i "qa". jeśli 'dev' został uruchomiony jako pierwszy, spodziewałbym się, że' qa' umrze z powodu już używanych portów. – booyaa
Dodam żądane informacje do pytania! @Opal: Chcę uruchomić oba środowiska na 1 serwerze w celach testowych. "dev" jest środowiskiem, w którym pracują dev (może być zepsuty), a "qa" jest środowiskiem, w którym kontrole jakości przeprowadzają testy po wykonaniu kompilacji z 'dev' – Nepoxx