আমি মনে করি এটি পরিস্থিতির উপর নির্ভর করে। উদাহরণস্বরূপ নিম্নলিখিত পাত্রে নিন:
# 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
" নতুন টিটিটি বরাদ্দ করবে না , তবে আসল চলমান tty পুনরায় ব্যবহার করবে, সুতরাং আপনি যদি 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