Kiedy używam docker-compose up
, widzę dzienniki dla wszystkich kontenerów w moim docker-compose.yml
pliku.
Jednak gdy używam, docker-compose run app
widzę tylko dane wyjściowe konsoli, app
ale żadnej z usług, app
od których zależy. Jak można zobaczyć dane wyjściowe dziennika dla innych usług?
docker
docker-compose
sthomps
źródło
źródło
docker-compose logs -f service_name
docker-compose run
tworzy nowy kontener za każdym razem, gdy go wykonujesz.docker-compose run
w circleci prostu uruchomić moje testy więc jego porządku, jeśli to tworzy nowy pojemnik. Głównym problemem jest po prostu brak wyświetlania danych wyjściowych dziennika z usług zależnych.Odpowiedzi:
Aktualizacja 1 lipca 2019 r
Z dokumentacji :
Zobacz dzienniki Dockera
Możesz uruchomić Docker Compose w trybie odłączonym i dołączyć się do dzienników wszystkich kontenerów później. Jeśli skończysz oglądać dzienniki, możesz odłączyć się od danych wyjściowych dzienników bez wyłączania usług.
docker-compose up -d
do uruchamiania wszystkich usług w trybie odłączonym (-d
) (nie zobaczysz żadnych dzienników w trybie odłączonym)docker-compose logs -f -t
do dołączania się do dzienników wszystkich uruchomionych usług , podczas gdy-f
oznacza, że śledzisz dane wyjściowe dziennika, a-t
opcja zapewnia sygnatury czasowe (zobacz informacje o platformie Docker )Ctrl + z
lub,Ctrl + c
aby odłączyć się od danych wyjściowych dziennika bez wyłączania działających kontenerówJeśli interesują Cię dzienniki pojedynczego kontenera, możesz
docker
zamiast tego użyć słowa kluczowego:docker logs -t -f <name-of-service>
Zapisz wynik
Aby zapisać dane wyjściowe do pliku, dodaj następujące polecenie do polecenia logs:
docker-compose logs -f -t >> myDockerCompose.log
źródło
docker-compose run
tych usług, które mają unikalne nazwy z usług wymienionych wdocker.compose.yml
Jeśli chcesz zobaczyć dzienniki wyjściowe wszystkich usług w twoim terminalu.
Jeśli chcesz rejestrować dane wyjściowe z określonych usług , możesz to zrobić w następujący sposób:
Ref: https://docs.docker.com/v17.09/engine/admin/logging/view_container_logs/
źródło
docker-compose up -d
docker ps
docker logs <containerid>
źródło
Niestety musimy działać
docker-compose logs
oddzielnie oddocker-compose run
. Aby to działało niezawodnie, musimy zablokowaćdocker-compose run
status wyjścia, a następnie przekierować dziennik i wyjść z odpowiednim statusem.źródło