I niedawno wyciągnął zdjęcie nginx:Nie można użyć -lt gdy uruchomiony Nginx Döcker lub kota loguje
docker pull nginx
mogę go uruchomić i pomyślnie przejść do http://server_name i zobacz stronę „Witamy na Nginx”:
docker run -d -p 80:80 nginx
Ale gdy próbuję sprawdzić dzienniki:
docker exec 6c79549e3eb4f6e5fc06f049b67814ac4560ce2cdd7cc6ae84b44b5ae09a9a05 cat /var/log/nginx/access.log
To po prostu zawiesza się i wyświetla nic. To samo z protokołem błędów. Teraz, jeśli utworzę plik test.txt w tym samym folderze i użyję funkcji dokowania exec do (zobacz) cat pliku, uruchamiam bez zwalniania lub żadnych problemów.
Nawet jeśli próbuję uruchomić go w trybie interaktywnym, to po prostu wisi:
docker run -i -t -p 80:80 nginx
Po raz kolejny terminal wisi na następnej linii nic nie robi, ale wydaje się działać, ponieważ można uzyskać dostęp z gościny nginx strona.
Naprawdę zagubiony, co się dzieje, próbowałem szukać tego problemu, ale nie znalazłem żadnego rozwiązania do tej pory. Bez możliwości przeglądania dzienników będzie bardzo trudno debugować :) Również nie powinny być przenoszone dzienniki dostępu do stdout w kontenerze nginx, ponieważ przez konwencjonalny dziennik kontenerów docker do stdout?
Czy plik '/ var/log/nginx/access.log' istnieje w kontenerze? Spróbuj wejść do kontenera i uruchamiać polecenia interaktywnie za pomocą 'docker run -i -t -p 80:80 nginx/bin/bash' –
Tak, access.log tam jest root @ ip-10-232-1 -195: ~/docker-registry/dockerfiles # docker exec d24a412224684434dfe9cf950015619ca4fc397e235602649591e2e5c46f4194 ls /var/log/nginx/access.log /var/log/nginx/access.log – alexfvolk
Uruchom 'ls -al' zamiast tylko' ls' i opublikuj wynik. –