Zawsze, gdy wykonuję
docker-compose start
docker-compose ps
Widzę moje kontenery ze stanem „UP”. Jeśli zrobię
docker-compose up -d
Zobaczę więcej szczegółów, ale będzie miał ten sam stan. Czy jest jakaś różnica między oboma poleceniami?
Zawsze, gdy wykonuję
docker-compose start
docker-compose ps
Widzę moje kontenery ze stanem „UP”. Jeśli zrobię
docker-compose up -d
Zobaczę więcej szczegółów, ale będzie miał ten sam stan. Czy jest jakaś różnica między oboma poleceniami?
Odpowiedzi:
docker-compose start
( https://docs.docker.com/compose/reference/start/ )
Uruchamia istniejące kontenery dla usługi.
docker-compose up
( https://docs.docker.com/compose/reference/up/ )
Kompiluje, (ponownie) tworzy, uruchamia i dołącza do kontenerów dla usługi.
O ile nie są już uruchomione, to polecenie uruchamia również wszystkie połączone usługi.
docker-compose up
Polecenie agregatów wyjście każdego pojemnika (zasadniczo działadocker-compose logs -f
). Kiedy polecenie kończy działanie, wszystkie kontenery są zatrzymywane. Uruchomieniedocker-compose up -d
uruchamia kontenery w tle i pozostawia je uruchomione.Jeśli istnieją kontenery dla usługi, a konfiguracja usługi lub jej obraz został zmieniony po utworzeniu kontenera,
docker-compose up
przejmuje zmiany, zatrzymując i odtwarzając kontenery (zachowując zamontowane woluminy). Aby zapobiec pobieraniu zmian przez funkcję Compose, użyj--no-recreate
flagi.
Pełne odniesienie do CLI:
https://docs.docker.com/compose/reference/
W dockerze Często zadawane pytania jest to bardzo jasno wyjaśnione:
Jaka jest różnica między uruchomieniem, uruchomieniem i uruchomieniem?
Zwykle chcesz
docker-compose up
. Służyup
do uruchamiania lub ponownego uruchamiania wszystkich usług zdefiniowanych wdocker-compose.yml
. W domyślnym trybie „dołączonym” widoczne są wszystkie dzienniki ze wszystkich kontenerów. W trybie „odłączonym” (-d
) funkcja Compose kończy działanie po uruchomieniu kontenerów, ale kontenery nadal działają w tle.
docker-compose run
Komenda jest do prowadzenia „one-off” lub zadania „AdHoc”. Wymaga nazwy usługi, którą chcesz uruchomić, i uruchamia kontenery tylko dla usług, od których zależy działająca usługa. Służyrun
do uruchamiania testów lub wykonywania czynności administracyjnych, takich jak usuwanie lub dodawanie danych do kontenera woluminu danych.run
Komenda działa jakdocker run -ti
w to, że otwiera interaktywny terminal do pojemnika i zwraca kod zakończenia pasujący kod zakończenia procesu w pojemniku.
docker-compose start
Polecenie jest przydatne tylko do restartu pojemnikach, które zostały wcześniej utworzone, ale zostali zatrzymani. Nigdy nie tworzy nowych pojemników.