Tôi có ví dụ đơn giản từ hướng dẫn chính thức tại trang web docker.Làm thế nào để giết quá trình bên trong container? Docker top command
tôi chạy như sau:
sudo docker run -d ubuntu:latest /bin/sh -c "while true; do echo hello world; sleep 1; done"
a66asdasdhqie123...
Sau đó, mất một đầu ra từ thùng chứa tạo:
sudo docker logs a66
hello
hello
hello
...
Sau đó, tôi tra cứu các quá trình hoạt động của một container:
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
Tiếp theo tôi cố gắng giết quá trình đầu tiên của vùng chứa:
sudo docker exec a66 kill -9 25055
Tuy nhiên sau khi tôi làm cho nó không có gì thay đổi. Quy trình vẫn hoạt động và xuất "hello" mỗi giây. Tôi làm gì sai?
và thông thường bạn sẽ giết quá trình với 'docker kill' tất nhiên. –
Tại sao PIDS khác nhau giữa đầu và id trong các vùng chứa? Đó là lệnh 'top' cho thấy PIDS ở máy chủ? (Xin lỗi, không thể kiểm tra câu trả lời tôi đang sử dụng trên điện thoại di động) –
có, 'docker top' hiển thị các PID của máy chủ, rõ ràng. –