উত্তর:
ডকার চিত্রগুলি ফাইল সিস্টেম স্তর হিসাবে সংরক্ষণ করা হয়। ডকফাইফিলের প্রতিটি কমান্ড একটি স্তর তৈরি করে। আপনি docker commit
কিছু পরিবর্তন করার পরে কমান্ড লাইনটি ব্যবহার করে স্তরগুলিও তৈরি করতে পারেন ( docker run
সম্ভবত)।
এই স্তরগুলি ডিফল্টর অধীনে সংরক্ষণ করা হয় /var/lib/docker
। আপনি যখন (তাত্ত্বিকভাবে) সেখান থেকে চেরি বাছাই করতে এবং এটি একটি অন্য ডকার সার্ভারে ইনস্টল করতে পারলেন, সম্ভবত ডকারের দ্বারা ব্যবহৃত অভ্যন্তরীণ প্রতিনিধিত্বের সাথে খেলতে পারা সম্ভবত একটি খারাপ ধারণা।
আপনি যখন নিজের ইমেজটিকে ধাক্কা দেন, এই স্তরগুলি রেজিস্ট্রিতে প্রেরণ করা হয় (ডকার হাব রেজিস্ট্রি, ডিফল্টরূপে ... আপনি যদি নিজের ছবিটিকে অন্য রেজিস্ট্রি উপসর্গের সাথে ট্যাগ না করেন) এবং সেখানে সংরক্ষণ করা হয়। ধাক্কা দেওয়ার সময়, স্তর আইডিটি স্থানীয়ভাবে আপনার কাছে ইতিমধ্যে স্তর রয়েছে কিনা তা যাচাই করতে ব্যবহার করা হয় be আপনি docker history
কোন স্তরের (অন্যান্য চিত্রগুলি) ব্যবহৃত হয় তা উঁকি দিতে ব্যবহার করতে পারেন (এবং কিছুটা হলেও, কোন আদেশটি স্তর তৈরি করেছে)।
ডকার হাব রেজিস্ট্রি না ঠেকিয়ে একটি চিত্র ভাগ করার বিকল্প হিসাবে, আপনার সেরা বিকল্পগুলি হ'ল:
docker save
একটি চিত্র বা docker export
একটি ধারক। এটি একটি টার ফাইলকে স্ট্যান্ডার্ড আউটপুটে আউটপুট দেবে, সুতরাং আপনি এর মতো কিছু করতে পছন্দ করবেন docker save 'dockerizeit/agent' > dk.agent.latest.tar
। তারপরে আপনি docker load
বা অন্য docker import
কোনও হোস্টে ব্যবহার করতে পারেন ।
আপনার নিজস্ব ব্যক্তিগত রেজিস্ট্রি হোস্ট করুন। - পুরানো, মন্তব্য দেখুন ডকার রেজিস্ট্রি চিত্র দেখুন । আমরা একটি এস 3 ব্যাকড রেজিস্ট্রি তৈরি করেছি যা আপনি প্রয়োজনীয় হিসাবে শুরু করতে এবং থামাতে পারেন (সমস্ত রাজ্যটি আপনার পছন্দসইয়ের এস 3 বালতিতে রাখা হয়েছে) যা সেটআপের ক্ষেত্রে তুচ্ছ। এটি কোনও রেজিস্ট্রি করার সময় কী ঘটে তা দেখার একটি আকর্ষণীয় উপায়
Quay.io এর মতো আরেকটি রেজিস্ট্রি ব্যবহার করুন (আমি ব্যক্তিগতভাবে এটি চেষ্টা করি নি), যদিও ডকার হাবের সাথে আপনার যে উদ্বেগ রয়েছে তা সম্ভবত এখানেও প্রয়োগ হবে।
docker save
: আমি যখন অন্য কোনও চিত্র থেকে প্রাপ্ত কোনও চিত্র (যাক বলি python:2.7
) একটি রেজিস্ট্রিতে ধাক্কা দিই , তখন পিতামাতার চিত্রটি পরিবর্তন না হওয়া পর্যন্ত একাধিকবার আপলোড করার প্রয়োজন হয় না। অনুরূপ ফাইল আকারের অপ্টিমাইজেশন অর্জন করতে আমি কি আংশিক চিত্রগুলি সংরক্ষণ করতে পারি? আমি এই হুপগুলি দিয়ে লাফিয়ে যাচ্ছি কারণ আমি একাধিক চিত্রের শখের একজন এবং আমি কোনও ব্যক্তিগত রেজিস্ট্রির জন্য অর্থ দিতে চাই না।
docker build
হোস্টে গিট রেপো থেকে কেবল এসআরসি ফাইলগুলি টানতে পারবেন না ?
npm install
... আমি আমার হোস্টের উপর নির্মাণ করতে পারছি না কারণ এর স্মৃতি খুব কম এবং এই পদক্ষেপটি সর্বদা ব্যর্থ হয় (দেখুন: github.com/npm/npm/issues/5021 )
এই ব্লগের উপর ভিত্তি করে , কেউ ডকার রেজিস্ট্রি ছাড়াই ডকারের চিত্র ভাগ করে চালাতে পারে:
docker save --output latestversion-1.0.0.tar dockerregistry/latestversion:1.0.0
এই কমান্ডটি শেষ হয়ে গেলে, কেউ চিত্রটি একটি সার্ভারে অনুলিপি করতে পারে এবং নীচে এটি আমদানি করতে পারে:
docker load --input latestversion-1.0.0.tar
রিমোট সার্ভারে একটি ডকার চিত্র পাঠানো 3 টি সহজ ধাপে করা যেতে পারে:
docker save -o <path for created tar file> <image name>
স্থানীয়ভাবে, দূরবর্তী থেকে .tar স্থানান্তর করতে scp ব্যবহার করুন
রিমোট সার্ভারে, ডকারে চিত্র লোড করুন:
docker load -i <path to docker image tar file>
আপনি যদি ডকার হাব নিজেই ব্যবহার করতে না চান তবে আপনি জেএফগ্রোগ দ্বারা আর্টিফ্যাক্টারের অধীনে আপনার নিজস্ব ডকার সংগ্রহস্থলটি হোস্ট করতে পারেন:
https://www.jfrog.com/confluence/display/RTF/Docker+Repositories
যা আপনার নিজের সার্ভারে চালিত হবে।
অন্যান্য হোস্টিং সরবরাহকারী পাওয়া যায়, যেমন: কোরিওএস:
http://www.theregister.co.uk/2014/10/30/coreos_enterprise_registry/
যা কিনে দিয়েছে quay.io