समाप्त होने पर मुझे वाणिज्य दूत के healthcheck सुविधा का उपयोग कर रहा हूँ, और मैं इन इन "मृत" कंटेनर बार आ रही है:डोकर कंटेनर
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20fd397ba638 progrium/consul:latest "\"/bin/bash -c 'cur 15 minutes ago Dead
क्या वास्तव में एक "डेड" कंटेनर है? एक बंद कंटेनर कब "मृत" बन जाता है?
रिकॉर्ड के लिए, मैं स्वास्थ्य जांच करने के लिए प्रोजेरियम/कंसुल + ग्लाइडरलैब्स/रजिस्ट्रार छवियों + SERVICE_XXXX_CHECK env चर चलाता हूं। यह प्रत्येक एक्स सेकेंड की छवि चलाने वाली एक हेल्थ चेक स्क्रिप्ट चलाता है, docker run --rm my/img healthcheck.sh
मुझे सामान्य रूप से रुचि है कि "मृत" का अर्थ क्या है और इसे कैसे होने से रोकें। एक और अनोखी बात यह है कि मेरे मृत कंटेनरों का कोई नाम नहीं है।
"State": {
"Dead": true,
"Error": "",
"ExitCode": 1,
"FinishedAt": "2015-05-30T19:00:01.814291614Z",
"OOMKilled": false,
"Paused": false,
"Pid": 0,
"Restarting": false,
"Running": false,
"StartedAt": "2015-05-30T18:59:51.739464262Z"
},
अजीब बात यह है कि केवल हर अब और फिर एक कंटेनर मृत हो जाता है और नहीं हटाया जाता है है:
इसकंटेनर निरीक्षण से कुछ जानकारी है।
धन्यवाद
संपादित करें: लॉग को देखते हुए, मैंने पाया क्या कंटेनर बंद असफल बनाता है:
Handler for DELETE /containers/{name:.*} returned error: Cannot destroy container 003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc:
Driver aufs failed to remove root filesystem 003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc:
rename /var/lib/docker/aufs/diff/003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc
/var/lib/docker/aufs/ diff/003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc-removing:
device or resource busy
इस क्यों होता है?
EDIT2: पाया इस: https://github.com/docker/docker/issues/9665
मैंने अपना जवाब संपादित किया है: समस्या 965 अभी बंद कर दी गई है। – VonC
शानदार, धन्यवाद –