কীভাবে ডিফল্ট ডকার রেজিস্ট্রিটিকে আমার ব্যক্তিগত রেজিস্ট্রিতে ডকার.ইও থেকে পরিবর্তন করবেন?


124

ডিফল্টরূপে, যদি আমি আদেশ জারি করি:

sudo docker pull ruby:2.2.1

এটি ডিফল্টরূপে ডকার.আইও অফিক্যাল সাইট থেকে টানবে।

Pulling repository docker.io/library/ruby

আমি কীভাবে এটি আমার ব্যক্তিগত রেজিস্ট্রিতে পরিবর্তন করব। তার মানে যদি আমি ইস্যু করি

sudo docker pull ruby:2.2.1

এটি আমার নিজের ব্যক্তিগত রেজিস্ট্রি থেকে টেনে আনবে, আউটপুটটি এমন:

Pulling repository my_private.registry:port/library/ruby

আপনি কি এটির কাজ করার কোনও উপায় খুঁজে পেতে পেরেছিলেন? আমি ঠিক একই জিনিস খুঁজছিলাম। আমি আমার ডকারের ব্যক্তিগত রেজিস্ট্রি হিসাবে নেক্সাস ব্যবহার করছি। আমি আমার ডোকার পুল কমান্ডে আমার ডোমেন নাম এবং পোর্ট নম্বরটি ব্যবহার করতে চাই না।
দিনেশ

উত্তর:


56

আপডেট: আপনার মন্তব্য অনুসরণ করে, বর্তমানে ডিফল্ট রেজিস্ট্রি পরিবর্তন করা সম্ভব নয়, আরও তথ্যের জন্য এই সমস্যাটি দেখুন।

আপনার নিজের হোস্ট এবং পোর্টটি প্রতিস্থাপন করে এটি করতে সক্ষম হবেন:

docker pull localhost:5000/registry-demo

যদি সার্ভারটি দূরবর্তী হয় / লেখক থাকে তবে আপনার সাথে সার্ভারে লগ ইন করতে হতে পারে:

docker login https://<YOUR-DOMAIN>:8080

তারপরে চলছে:

docker pull <YOUR-DOMAIN>:8080/test-image

14
docker pull <YOUR-DOMAIN>:8080/test-imageঠিক ছিল। তবে আমি যা চাই তা docker pull test-imageহ'ল যেটি DOMAIN এবং পোর্টকে স্পেসিফাই না করে এবং লগইন ছাড়াই।
মেইনফ্রেমার

2
আমি আপনার মন্তব্যের ভিত্তিতে আমার উত্তর আপডেট করেছি। ডিফল্ট রেজিস্ট্রি সেট করা বর্তমানে সম্ভব নয়
গাই

সম্ভবত কোনও আলাদা ডিফল্ট রেজিস্ট্রি সেট করা সম্ভব হয় না, কারণ এটি বেশিরভাগ চিত্রের উপর নির্ভর করে এমন ডিফল্ট নাম স্থানটি ভেঙে দেয়
ম্যাট

তারা @scopesএনপিএম-এর মতো কিছু করতে পারে যেমন বিদ্যমানের সাথে দ্বন্দ্ব ছাড়াই নতুন নেমস্পেসগুলি প্রবর্তন করতে পারে । চিত্রের নাম অন্তর্ভুক্ত রেজিস্ট্রি হোস্টনাম থাকা কোনও সংস্থা বা প্রকল্পের ভিতরে রেজিস্ট্রি ক্যাচিং / প্রক্সিং / লক ডাউনকে জটিল করে তোলে। এটি এটি ভালভাবে বর্ণনা করেছে: informit.com/articles/article.aspx?p=2464012&seqNum=3
আলেকজান্ডার ক্লাইমেটসেক


21

দেখা যাচ্ছে এটি আসলে সম্ভব, তবে খাঁটি ডকার সিই বা ইই সংস্করণ ব্যবহার করছেন না।

আপনি হয় '--add-Registry' পতাকা সহ Red Hat এর ডকারের কাঁটা ব্যবহার করতে পারেন অথবা আপনি নিজের হার্ড-কোডড ডিফল্ট রেজিস্ট্রি নেমস্পেস / সূচক ব্যবহার করতে রেজিস্ট্রি / কনফিগারেশন.গো সংশোধন করে উত্স থেকে ডকার তৈরি করতে পারেন।


3
সেন্টো-এক্সট্রাতে রেডহ্যাটের কাঁটাচামচ পাওয়া যায়। ডকার.আইও সংস্করণে স্যুইচ করার পরে কেন --add-registryকাজ বন্ধ করে দিয়েছে তা বুঝতে আমাকে সহায়তা করার জন্য ধন্যবাদ ।
chutz

2
আপনি --block-registry index.docker.ioডিফল্ট রেজিস্ট্রি থেকে মুক্তি পেতে বিকল্পটিও ব্যবহার করতে পারেন ।
ইভান

1
--add-registry খিঁচ অনুরোধ করা হয়েছিল মার্জ করা হয়নি । এই বৈশিষ্ট্যটি শেষ পর্যন্ত অস্বীকার করা হয়েছিল ( # 11816 )।
ফ্র্যাংকলিন পিয়াত

9

আপনি যদি ফেডোরা ডিস্ট্রো ব্যবহার করে থাকেন তবে আপনি ফাইলটি পরিবর্তন করতে পারবেন

/etc/containers/registries.conf

ডোমেন.ওয়ে ডোমেন যুক্ত করা হচ্ছে


এই redhat নির্দিষ্ট কনফিগারেশন ফাইলটি ডকর্ড শুরু করতে ব্যবহৃত হয় --add-registry। বৈশিষ্ট্য Docker দ্বারা গৃহীত হবে না খিঁচ অনুরোধ করা হয়েছিল মার্জ করা হয়নি । (এছাড়াও বৈশিষ্ট্য পরিণামে অস্বীকার করে ( # 11816 )।
ফ্র্যাংকলিন Piat

6

মনে হচ্ছে এটি সম্প্রদায়ের মধ্যে যে খণ্ডন তৈরি হবে (যেমন দুটি ব্যবহারকারী বিভিন্ন চিত্র টানবেন ubuntu:latest) এর কারণে এটি সমর্থিত হবে না । আপনাকে কেবল ছবির নামের সামনে হোস্টটি যুক্ত করতে হবে। আলোচনায় যোগ দিতে এই গিথুব ইস্যুটি দেখুন ।

(দ্রষ্টব্য, এটি একটি মতামত মন্তব্য হিসাবে নয়, উল্লিখিত গিথুব ইস্যুতে অনুসরণ করা যেতে পারে যে আলোচনার খুব সংক্ষিপ্ত সংক্ষিপ্তসার।)


10
খণ্ডিত হ্যাঁ তবে ঠিক লিনাক্সের প্রথম দিনগুলির সাথে অবশেষে কেবলমাত্র তিনটি হয়ে উঠেছে (উত্স বেস [খিলান, স্লেটু, স্লেক্স, ...], ডেবিয়ান ভিত্তিক [ডিবিয়ান / উবুন্টু], এবং রেডহ্যাট ভিত্তিক [এন্টারপ্রাইজ লিনাক্স, রেল, সেন্টোস]। সুরক্ষা দৃষ্টিকোণ থেকে ডিফল্ট আপস্ট্রিম রেজিস্ট্রিটিকে নিজের দ্বারা পরিচালিত কোনও কিছুর বদলে নেওয়া ভাল
ডুইট স্পেন্সার

2
"কেবলমাত্র তিনটি লিনাক্স, রেডহ্যাট, ডিবিয়ান এবং উত্স" বলার মতো "" এখানে কেবলমাত্র তিনটি অনুসন্ধান সরবরাহকারী রয়েছে: গুগল, বিং এবং অন্যান্য সমস্ত অনুসন্ধান সরবরাহকারী "...
ক্রিস ব্রাউন

4

আমি /etc/docker/daemon.json এ নিম্নলিখিত বিকল্পগুলি যুক্ত করার চেষ্টা করেছি। (আমি CentOS7 ব্যবহার করেছি)

"add-registry": ["192.168.100.100:5001"],
"block-registry": ["docker.io"],

এর পরে, ডকার ডিমন পুনরায় চালু করুন। এবং এটি ডকার.ও ছাড়া কাজ করছে আমি আশা করি এই কেউ সহায়ক হবে।


এই কনফিগারেশনটি রেডহ্যাট সম্পর্কিত। --add-registry খিঁচ অনুরোধ করা হয়েছিল মার্জ করা হয়নি
ফ্রাঙ্কলিন পিটি

2

ডকারের অফিসিয়াল অবস্থানটি # 11815 ইস্যুতে ব্যাখ্যা করা হয়েছে :

11815 ইস্যু: পুল কমান্ডে ব্যবহৃত ডিফল্ট রেজিস্ট্রেশন নির্দিষ্ট করার অনুমতি দিন

রেজোলিউশন:

পূর্বে উল্লিখিত (# 11815) এর মতো, এটি নাম স্থানটি বিভক্ত করবে এবং সম্প্রদায়টিকে খুব খারাপভাবে আঘাত করবে, ডকফায়িলগুলি আর বহনযোগ্য নয় making

[রক্ষণাবেক্ষণকারী] এই কারণে এটি বন্ধ করে দেবেন।

রেড হ্যাটটির একটি নির্দিষ্ট প্রয়োগ ছিল যা এটির অনুমতি দেয় (অ্যাঞ্জার দেখুন, তবে এটি ডকার আপস্ট্রিম প্রজেক্ট দ্বারা প্রত্যাখ্যান করা হয়েছিল )। এটি --add-registryযুক্তির উপর নির্ভর করেছিল , যা /etc/containers/registries.confআরএইচইএল / সেন্টোস 7 এ সেট করা হয়েছিল ।


1

এর আগে DOCKER_OPTSএটি /etc/default/dockerকনফিগার ফাইলে ব্যবহার করা যায় যা উবুন্টু 14:04 তে কাজ করেছিল এবং উবুন্টু 15:04 এ কিছু সমস্যা ছিল । এটি ঠিক করা হয়েছে কিনা তা নিশ্চিত নয়।

নীচের লাইনে /etc/default/dockerহোস্টের ফাইলটিতে প্রবেশ করা দরকার যা ডকার ডিমন চালায়। ব্যক্তিগত রেজিস্ট্রি পরিবর্তন পয়েন্টগুলি আপনার স্থানীয় নেটওয়ার্কে ইনস্টল করা আছে। দ্রষ্টব্য: আপনাকে এই পরিবর্তন অনুসরণ করে ডকার পরিষেবাটি পুনরায় চালু করতে হবে।

DOCKER_OPTS="--insecure-registry <priv registry hostname/ip>:<port>"

11
'--ইনসিকিউর-রেজিস্ট্রি' পতাকাটি ডকারকে টিএলএস অনুমোদন ছাড়াই নামকরণ করা রেজিস্ট্রি থেকে টানতে দেয়। কোনওটি নির্দিষ্ট না হলে ডিফল্ট রেজিস্ট্রি সেট করার দিকে এটি কিছুই করে না।
জোশিয়াহ

0

আমি গাইয়ের দেওয়া মূল উত্তরটি যোগ করছি যা আজও কার্যকর (শীঘ্রই 2020)।

আপনার সাথে করা ডিফল্ট ডকার রেজিস্ট্রি ওভাররাইড mavenকরা আসলে কোনও ভাল অনুশীলন নয়।

ব্যবহার করার সময় maven, আপনি স্থানীয় স্থানীয় সংগ্রহস্থল পরিচালনা সিস্টেমের মাধ্যমে মাভেন সেন্ট্রাল রিপোজিটরি থেকে শিল্পকর্মগুলি টানুন যা প্রক্সি হিসাবে কাজ করবে। এই নিদর্শনগুলি সরল, কাঁচা লিব (জারস) এবং আপনি একই নাম দিয়ে জারগুলিকে চাপ দেবেন এমনটি খুব কমই।

অন্যদিকে, ডকার চিত্রগুলি সম্পূর্ণরূপে পরিচালিত, চলমান, পরিবেশ, এবং ডকার হাব থেকে একটি চিত্র টানতে এটি সংশোধন করে এবং একই নামটি সহ আপনার স্থানীয় রেজিস্ট্রি ম্যানেজমেন্ট সিস্টেমে এই চিত্রটিকে ধাক্কা দেওয়ার জন্য পুরো সংবেদন করে, কারণ এটি হুবহু এর নাম কী বলে এটি কেবল আপনার উদ্যোগের প্রসঙ্গে। এক্ষেত্রে দুটি চিত্রের মধ্যে একমাত্র পার্থক্যটি অবশ্যই এর পথ হয়ে উঠবে !!

সুতরাং নিম্নলিখিত বিধি সেট করার প্রয়োজন: একটি চিত্রের উপসর্গ তার উত্স নির্দেশ করে; ডিফল্টরূপে যদি কোনও চিত্রের উপসর্গ না থাকে তবে এটি ডকার হাব থেকে টানা হয়।


ঠিক এই কারণে মাভেন সংগ্রহশালা ডিফল্টরূপে রিলিজগুলি ওভাররাইটিংয়ের অনুমতি দেয় না এবং শ্রেণিবদ্ধ সরবরাহ করে। একইভাবে ডকার ট্যাগ ব্যবহার করে।
কোজ

-5

চেষ্টা করিনি, কিন্তু হয়তো একটি লাইন যোগ করে DNS সমাধানের প্রক্রিয়া ছিনতাইয়ের /etc/hostsজন্য hub.docker.comবা অনুরূপ কিছু ( docker.io?) কাজ করতে পারে?


4
এটি সংযোগ পর্যায়ে উড়ে যাবে; আপনি যে সার্ভারে সংযোগ করছেন তাতে ডোমেনের জন্য উপযুক্ত টিএলএস শংসাপত্র থাকবে না।
মাইকেল মল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.