मुझे लगता है कि यह स्थिति पर निर्भर होना चाहिए। निम्न कंटेनर को एक उदाहरण के रूप में लें:
# docker run -it -d ubuntu
91262536f7c9a3060641448120bda7af5ca812b0beb8f3c9fe72811a61db07fc
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91262536f7c9 ubuntu "/bin/bash" 5 seconds ago Up 4 seconds serene_goldstine
(1) docker attach
कंटेनर को संलग्न करने के लिए " " का उपयोग करें :
चूंकि " docker attach
" एक नया ट्टी आवंटित नहीं करेगा , लेकिन मूल रनिंग ट्टी का पुन: उपयोग करता है, इसलिए यदि आप exit
कमांड चलाते हैं, तो यह चल रहे कंटेनर के बाहर निकलने का कारण होगा:
# docker attach 91262536f7c9
exit
exit
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91262536f7c9 ubuntu "/bin/bash" 39 minutes ago Exited (0) 3 seconds ago serene_goldstine
इसलिए जब तक आप वास्तव में रनिंग कंटेनर निकास नहीं बनाना चाहते हैं, आपको Ctrl+ p+ Ctrl+ का उपयोग करना चाहिए q।
(२) " docker exec
" का प्रयोग करें
के बाद से " docker exec
" होगा एक नया tty आवंटित है, इसलिए मुझे लगता है कि आप का उपयोग करना चाहिए exit
के बजाय Ctrl+ p+ Ctrl+ q।
कंटेनर छोड़ने के लिए निम्नलिखित Ctrl+ p+ Ctrl+ निष्पादित कर रहा है q:
# docker exec -it 91262536f7c9 bash
root@91262536f7c9:/# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 18160 1908 ? Ss+ 04:03 0:00 /bin/bash
root 15 0.0 0.0 18164 1892 ? Ss 04:03 0:00 bash
root 28 0.0 0.0 15564 1148 ? R+ 04:03 0:00 ps -aux
root@91262536f7c9:/# echo $$
15
फिर कंटेनर को फिर से लॉगिन करें, आप देखेंगे कि bash
प्रचार में प्रक्रिया docker exec
अभी भी जीवित है (पीआईडी 15 है):
# docker exec -it 91262536f7c9 bash
root@91262536f7c9:/# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 18160 1908 ? Ss+ 04:03 0:00 /bin/bash
root 15 0.0 0.0 18164 1892 ? Ss+ 04:03 0:00 bash
root 29 0.0 0.0 18164 1888 ? Ss 04:04 0:00 bash
root 42 0.0 0.0 15564 1148 ? R+ 04:04 0:00 ps -aux
root@91262536f7c9:/# echo $$
29