কিছু ক্ষেত্রে কনটেইনারটি বন্ধ করার আগে বা কোনও প্রক্রিয়া হত্যার আগে সমস্যার আরও গভীরভাবে ডিবাগিং করা সমালোচনামূলক।
নীচের চেকলিস্ট অনুসরণ নিম্নলিখিত বিবেচনা করুন:
1) আপনি বর্তমান Docker রচনা পরিবেশ পরীক্ষা করুন
চালান docker-compose ps
।
তাহলে বন্দর অন্য ধারক ব্যবহার করছে, সঙ্গে এটা বন্ধ docker-compose stop <service-name-in-compose-file>
বা প্রতিস্থাপন দ্বারা এটিকে সরাতে stop
সঙ্গেrm
।
2) পাত্রে আপনার বর্তমান কর্মক্ষেত্র বাহিরে চলমান পরীক্ষা
চালান docker ps
আপনার হোস্ট অধীনে চলমান সব পাত্রে তালিকা দেখতে।
যদি আপনি দেখতে পান যে বন্দরটি অন্য কোনও ধারক ব্যবহার করছে তবে আপনি এটি দিয়ে থামাতে পারেন docker stop <container-id>
।
(*) কারণ আপনি মূল compose
পরিবেশের আওতায় নেই - ডকার ইন্সপেক্ট ব্যবহার করা প্রথমে ভাল অভ্যাস সে সম্পর্কে আরও তথ্য সংগ্রহের জন্য ।
3) হোস্টে চলমান অন্যান্য প্রক্রিয়াগুলি দ্বারা পোর্টটি ব্যবহার করা হয়েছে কিনা তা পরীক্ষা করুন
উদাহরণস্বরূপ পোর্টটি যদি 79৩79৯ রান করে:
$ sudo netstat -ltnp | grep ':6379'
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 915/redis-server 12
tcp6 0 0 ::1:6379 :::* LISTEN 915/redis-server 12
(*) আপনি lsof কমান্ডটিও ব্যবহার করতে পারেন যা মূলত বিভিন্ন প্রক্রিয়া দ্বারা খোলা ফাইলগুলির তথ্য পুনরুদ্ধার করতে ব্যবহৃত হয় (আমি তার netstat
আগে চলার পরামর্শ দিই )।
সুতরাং, আউটপুট ক্ষেত্রে উপরের PID
হয় 915
। এখন আপনি চালাতে পারেন:
$ ps j 915
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
1 915 915 915 ? -1 Ssl 123 0:11 /usr/bin/redis-server 127.0.0.1:6379
এবং প্যারেন্ট প্রসেসের আইডি ( PPID
) এবং এক্সিকিউশন কমান্ডটি দেখুন।
আপনি এটিও চালাতে পারেন: $ pstree -s <PID>
প্রক্রিয়াটির দৃশ্যমান প্রদর্শন এবং এর সম্পর্কিত প্রক্রিয়াগুলি।
আমাদের ক্ষেত্রে আমরা দেখতে পাচ্ছি যে প্রক্রিয়াটি সম্ভবত ডেমন (পিপিআইডি হ'ল 1) - সেই ক্ষেত্রে চলমান বিবেচনা করুন:
ক) প্রক্রিয়াটির $ cat /proc/<PID>/status
দ্বারা প্রসারিত থ্রেডের সংখ্যার মতো প্রক্রিয়া সম্পর্কে আরও গভীরতর তথ্য পাওয়ার জন্য, এর ক্ষমতা ইত্যাদি '
খ) $ systemctl status <PID>
দেখার জন্যsystemdইউনিট যা একটি নির্দিষ্ট প্রক্রিয়া তৈরির কারণ ঘটায়। যদি পরিষেবাটি গুরুত্বপূর্ণ না হয় - আপনি পরিষেবাটি বন্ধ এবং অক্ষম করতে পারেন ।
4) ডকার পরিষেবা পুনরায় চালু করুন
:sudo service docker restart
।
5) আপনি এই মুহুর্তে পৌঁছেছেন এবং ..
কেবলমাত্র যদি এটি আপনার সিস্টেমকে ঝুঁকিতে না ফেলে - সার্ভার পুনরায় চালু করার কথা বিবেচনা করুন।
sudo netstat -pna | grep 3000
যে প্রক্রিয়াটি শুনছে তা পেতে একটি চালান ।