কীভাবে ডকারের সাথে কাস্টম ডিএনএস সার্ভার কনফিগার করবেন?


8

/etc/hostsআমার ওয়েব-অ্যাপের জন্য ডকারের ধারকটির ভিতরে কাজ করতে আমাকে কয়েকটি লাইন যুক্ত করতে হবে ।

ডকার /etc/hostsকেবল পঠনযোগ্য।

আমি dnsmasq ব্যবহার করার চেষ্টা করছি:

উবুন্টু থেকে: 14.04
# ...
RUN অ্যাপ্লিকেশন -y -q dnsmasq ইনস্টল করুন
রুন ইকো 'শুনুন-ঠিকানা = 127.0.0.1' >> /etc/dnsmasq.conf
রুন প্রতিধ্বনি 'রেজোলভ-ফাইল = / ইত্যাদি / রেজোলv.dnsmasq.conf' >> /etc/dnsmasq.conf
রুন প্রতিধ্বনি 'কনফার-দির = / ইত্যাদি / ডেনমাসেক.ডি' >> /etc/dnsmasq.conf
রুন ইকো 'ইউজার = রুট' >> /etc/dnsmasq.conf
রুন প্রতিধ্বনি 'নেমসারভার ৮.৮.৮.৮' >> /etc/resolv.dnsmasq.conf
রুন প্রতিধ্বনি 'নেমসারভার 8.8.4.4' >> /etc/resolv.dnsmasq.conf
রুন প্রতিধ্বনি 'ঠিকানা = "/ মায়ডোমেন / 127.0.6.1" ">> /etc/dnsmasq.d/0hosts
আরএন সার্ভিস ড্যানমাস্ক শুরু হয়

তবে আমি ডকারকে আমার ডিএনএস সার্ভারটি ব্যবহার করতে পারি না:

ock ডকার --dns = 127.0.0.1 আমার / ধারক বিড়াল /etc/resolv.conf চালান
নেমসারভার 8.8.8.8
নেমসারভার 8.8.4.4

আমি কী মিস করছি?

কনফিগারেশন:

  • ওএস এক্স 10.9.4
  • ডকার সংস্করণ 1.1.0, 79812e3 তৈরি করুন
  • বুট 2 ডকার ক্লায়েন্ট সংস্করণ: v1.1.0, গিট কমিট: 7e20d36

উত্তর:


10

--dnsজন্য কাজ করে docker runকিন্তু না docker build। সুতরাং আরও ভাল সমাধান হ'ল বিশ্বব্যাপী সেটিংসটি সামঞ্জস্য করা

DOCKER_OPTS="--dns=my-private-dns-server-ip --dns=8.8.8.8"

উবুন্টুতে আমি এই লাইনটি .ুকিয়ে দিয়েছি /etc/default/docker


নোট করুন যে /etc/default/dockerডকার ডেমন সম্পাদন করার সময় ফাইলটি ব্যবহৃত হয় না, আপনার daemon.jsonকনফিগারেশন ফাইলটি পরিবর্তন করা উচিত । ডকস.ডকার
ডেভিড ইকার্দি

6

আমার যেটা অনুপস্থিত তা হ'ল আমি বিকল্পগুলি এবং যুক্তির ক্রমকে গণ্ডগোল করে দিয়েছি। আমি যদি --dnsপরে উল্লেখ করি তবে runসবকিছু ঠিকঠাক কাজ করে।

ock ডকার রান --dns = 127.0.0.1 আমার / ধারক বিড়াল /etc/resolv.conf
নেমসারভার 127.0.0.1

ডোহ।


এটি অবশ্য কাজ করে না
ড্যানমাস্ক

আপনি --dnsবিকল্পটি আরও একবার ব্যবহার করতে পারেন । উদাহরণস্বরূপdocker run --dns 8.8.8.8 --dns 127.0.0.1 my/container
ব্রুনো বিরি 8
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.