ถ้าฉันเริ่มต้นกระบวนการ Python ในคอนเทนเนอร์ด้วย
docker run --name python python python3 -c "import time; time.sleep(3600)"
และพยายามที่จะยกเลิกสิ่งนี้ในคอนโซลอื่นด้วย
docker stop python
ล่ามไม่หยุด นักเทียบท่าต้องฆ่ากระบวนการหลังจากช่วงเวลาผ่อนผัน (10 วินาทีโดยค่าเริ่มต้น)
อย่างไรก็ตามแบบง่าย
python3 -c "import time; time.sleep(3600)"
บนบรรทัดคำสั่งสามารถยกเลิกได้ทันทีโดยส่ง TERM ไปที่มัน
อะไรคือสาเหตุของความไม่สมดุลนี้
stop
คำสั่งของมันจะส่งสัญญาณที่แตกต่างTERM
ไปจากคอนเทนเนอร์ แก้ไข: คุณได้ลองdocker kill python
? (หรืออีกวิธีหนึ่งที่จะส่ง SIGTERM:docker kill --signal=SIGTERM python
)