Uncommenting DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
মধ্যে /etc/default/docker
যেমন ম্যাট ক্যারিয়ার পরামর্শ হয়নি না আমার জন্য কাজ করে। বা আমার কর্পোরেশনের ডিএনএস সার্ভারগুলিকে সেই ফাইলটিতে রাখেনি। তবে, আরও একটি উপায় আছে (পড়ুন)।
প্রথমে আসুন সমস্যাটি যাচাই করুন:
$ docker run --rm busybox nslookup google.com # takes a long time
nslookup: can't resolve 'google.com' # <--- appears after a long time
Server: 8.8.8.8
Address 1: 8.8.8.8
যদি কমান্ডটি হ্যাং হয়ে উপস্থিত হয় তবে শেষ পর্যন্ত "google.com 'সমাধান করতে পারে না" ত্রুটিটি ছুঁড়ে ফেলেছে তবে আমার মতো আপনারও একই সমস্যা রয়েছে।
nslookup
কমান্ড অর্ডার IP ঠিকানাতে অনুবাদ 'google.com' টেক্সট ঠিকানা চালু করার জন্য DNS সার্ভার 8.8.8.8 জিজ্ঞাস্য। হাস্যকরভাবে, 8.8.8.8 হ'ল গুগলের সর্বজনীন ডিএনএস সার্ভার । যদি nslookup
ব্যর্থ হয় তবে ৮.৮.৮.৮ এর মতো সর্বজনীন ডিএনএস সার্ভারগুলি আপনার সংস্থার দ্বারা অবরুদ্ধ করা হতে পারে (যা আমি মনে করি সুরক্ষার কারণেই)।
আপনি যে আপনার কোম্পানির DNS সার্ভার যোগ মনে চাই DOCKER_OPTS
মধ্যে/etc/default/docker
কৌতুক করতে হবে, কিন্তু কোন কারনের জন্য, এটা আমার জন্য কাজ করে নি। আমি নীচে আমার জন্য কি কাজ করে তা বর্ণনা করি।
সমাধান :
হোস্টে (আমি উবুন্টু 16.04 ব্যবহার করছি), প্রাথমিক এবং গৌণ ডিএনএস সার্ভারের ঠিকানাগুলি সন্ধান করুন:
$ nmcli dev show | grep 'IP4.DNS'
IP4.DNS[1]: 10.0.0.2
IP4.DNS[2]: 10.0.0.3
এই ঠিকানাগুলি ব্যবহার করে একটি ফাইল তৈরি করুন /etc/docker/daemon.json
:
$ sudo su root
# cd /etc/docker
# touch daemon.json
এটি রাখুন /etc/docker/daemon.json
:
{
"dns": ["10.0.0.2", "10.0.0.3"]
}
মূল থেকে প্রস্থান করুন:
# exit
এখন ডকার পুনরায় চালু করুন:
$ sudo service docker restart
যাচাইকরণ :
এখন পরীক্ষা করুন যে /etc/docker/daemon.json
ফাইলটি যুক্ত করা আপনাকে 'google.com' কে আইপি ঠিকানায় সমাধান করতে দেয়:
$ docker run --rm busybox nslookup google.com
Server: 10.0.0.2
Address 1: 10.0.0.2
Name: google.com
Address 1: 2a00:1450:4009:811::200e lhr26s02-in-x200e.1e100.net
Address 2: 216.58.198.174 lhr25s10-in-f14.1e100.net
তথ্যসূত্র :
আমি আমার সমাধানটি রবিন উইনস্লো-র একটি নিবন্ধের ভিত্তিতে তৈরি করেছি, যিনি সমাধানটির সমস্ত কৃতিত্বের দাবিদার। ধন্যবাদ, রবিন!
"ডকারের নেটওয়ার্কিং ডিএনএস কনফিগারেশন ঠিক করুন" " রবিন উইনস্লো 2016-11-09-এ পুনরুদ্ধার করা হয়েছে। https://robinwinslow.uk/2016/06/23/fix-docker-networking-dns/
newgrp docker
একটি সম্পূর্ণ লগ অফ না করেই ইস্যু করি তবে নিজেকে দেওয়ার পরে লগইন করুনsudo usermod -aG docker myuserid
... এটির জন্য একটি এজ নিশ্চিত যাইহোক এটি ঘটে