Dzisiaj wdrożyłem wystąpienie MediaWiki przy użyciu obrazu dokera appcontainers / mediawiki i mam teraz nowy problem, dla którego nie mogę znaleźć żadnej wskazówki. Po próbie podłączenia do przedniego pojemnika mediawiki za pomocą:
docker attach mediawiki_web_1
który odpowiada Terminated
na moją konfigurację z jakiegoś powodu, który ignoruję, próbując również:
docker exec -it mediawiki_web_1 bash
Otrzymuję coś zbliżonego do komunikatu o błędzie:
Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running
I jest mój nowy problem, ponieważ ten kontener nigdy nie przestaje się restartować. Widzę, że użycie, docker ps -a
które zawsze zwraca STATUS Restarting (127) x seconds ago
.
Chodzi o to, że jestem w stanie zatrzymać kontener (testowałem), ale ponowne uruchomienie wydaje się przywracać go do pętli restartowania.
Masz jakiś pomysł, co może być problemem? Całość działała poprawnie, dopóki nie spróbowałem się do niej przyczepić ...
Jestem smutna :-(
Odpowiedzi:
docker logs
Komenda pokaże wyjście pojemnik jest generowanie jeśli nie uruchomić interaktywnie. Prawdopodobnie obejmuje to komunikat o błędzie.Można również uruchomić nowego pojemnika na pierwszym planie z
docker run -ti <your_wiki_image>
aby zobaczyć co to robi. Może być koniecznedocker-compose
zmapowanie niektórych konfiguracji z yml dodocker
polecenia.Domyślam się, że dołączanie do procesu wiki mediów spowodowało awarię, która uszkodziła coś w twoich danych.
źródło
2016-05-26T16:38:27.362409489Z * Stopping web server apache2 * 2016-05-26T21:49:11.376549083Z Terminated 2016-05-26T21:49:11.688655642Z /bin/bash: /tmp/.runconfig.sh: No such file or directory
wydaje mi się, że pobiera ostatnie 50 dzienników związanych z kontenerem, jest następujący: więc masz rację, coś jest uszkodzone w danych, ponieważ plik runconfig.sh wydaje się znikać. Postaram się ponownie uruchomić kontener na pierwszym planie, tak jak radziłeś. Muszę tylko dowiedzieć się, jak określić 25 właściwych argumentów ^^docker ps -a
pokazał mi, że utknął w pętli rozruchowej, a Twoje polecenie pokazało mi, dlaczego: pliki są już w katalogu mysql, których nie można usunąć. Uratowałeś mi więcej godzin wyrywania włosów. Dzięki!Gdy
docker kill CONTAINER_ID
nie działa, adocker stop -t 1 CONTAINER_ID
także nie działa, możesz spróbować usunąć kontener:Miałem dziś podobny problem, w którym kontenery były w ciągłej pętli restartów.
Problem w moim przypadku był związany z tym, że byłem słabym inżynierem.
W każdym razie rozwiązałem ten problem, usuwając kontener, poprawiając kod, a następnie przebudowując i uruchamiając kontener.
Mam nadzieję, że pomoże to każdemu, kto utknie z tym problemem w przyszłości
źródło
restart: always
co pozostawiło mnie w pętli dockera próbującego uruchomić zepsutą aplikację .. :(Z własnego doświadczenia wynika, że wystąpił problem w kontenerze Dockera, który nie pozwala na jego ponowne uruchomienie. Więc jakiś proces w kontenerze powoduje zawieszenie się restartu lub jakiś proces powoduje awarię kontenera przy starcie.
Kiedy uruchamiasz kontener, upewnij się, że zaczynasz go odłączony "-d", jeśli masz zamiar się do niego podłączyć. (np. „docker run -d mediawiki_web_1”)
źródło
tl; dr Trwa ponowne uruchamianie z kodem stanu
127
, co oznacza, że w kontenerze brakuje pliku / biblioteki. Uruchomienie nowego pojemnika może to naprawić.Wyjaśnienie:
Jeśli chodzi o moje rozumienie Dockera, dzieje się tak:
127
, który wyjaśniono w tej odpowiedzi .no
( domyślne ) (przy użyciu flagi--restart
lubdocker-compose.yml
klucza wiersza poleceńrestart
) podczas uruchamiania kontenera.Rozwiązanie: coś mogło uszkodzić Twój kontener. Uruchomienie nowego pojemnika powinno idealnie załatwić sprawę.
źródło
Może tak być również w przypadku, gdy utworzyłeś
systemd
usługę, która ma:źródło
W moim przypadku kontener nginx wciąż się restartował, sprawdziłem logi kontenera nginx i dowiedziałem się, że pliki .crt i .key niepotrzebnej domeny zawierają błędy, więc usunąłem odpowiedni plik .conf, .crt i .key, a następnie uruchomiłem ponownie nginx. To wszystko, nginx działa dobrze bez ponownego uruchamiania.
źródło
Zapomniałem, że Minikube działa w tle i to zawsze uruchamiało je ponownie
źródło
Najpierw sprawdź dzienniki, dlaczego kontener się nie powiódł. Ponieważ zasady ponownego uruchamiania mogą przywrócić stan działania kontenera. Lepiej rozwiązać problem, prawdopodobnie możesz zbudować nowy obraz z poprawką / bez niej. Później wykonaj poniższe polecenie
docker system prune
https://forums.docker.com/t/docker-registry-in-restarting-1-status-forever/12717/3
źródło
Spróbuj dodać te parametry do pliku docker yml
Ostateczny plik powinien wyglądać mniej więcej tak
źródło