Mam prosty przykład z oficjalnego przewodnika na stronie dokera.Jak zabić proces w pojemniku? Polecenie Docker top
uruchomić następujące:
sudo docker run -d ubuntu:latest /bin/sh -c "while true; do echo hello world; sleep 1; done"
a66asdasdhqie123...
następnie podjąć jakieś wyjście z utworzonego w opakowaniu:
sudo docker logs a66
hello
hello
hello
...
Potem odnośnika procesów bieżących pojemniku:
sudo docker top a66
UID PID PPID C STIME TTY TIME CMD
root 25055 15152 0 20:07 ? 00:00:00 /bin/sh -c while true; do echo hello world; sleep 1; done
root 25295 25055 0 20:10 ? 00:00:00 sleep 1
Następne I spróbuj zabić pierwszy proces pojemnika:
sudo docker exec a66 kill -9 25055
Jednak po wprowadzeniu zmian nic się nie zmieni. Proces wciąż działa i wyświetla "cześć" co sekundę. Co mam nie tak?
i normalnie można by zabić proces za pomocą 'docker kill' oczywiście. –
Dlaczego wartości PIDS różnią się między najwyższymi i średnimi wewnątrz kontenerów? To polecenie "top" pokazuje PIDS na komputerze-hoście? (Niestety nie mogę sprawdzić odpowiedzi na razie na telefon komórkowy) –
tak, najwyraźniej "docker top" pokazuje PID hosta. –