ডকারে সেভ এবং এক্সপোর্টের মধ্যে পার্থক্য কী?


157

আমি কয়েক দিন ধরে ডকারের সাথে খেলছি এবং ইতিমধ্যে আমি কিছু চিত্র তৈরি করেছি (যা সত্যিই মজাদার ছিল!)। এখন আমি আমার কাজ চালিয়ে যেতে চাইছি saveএবং exportআদেশগুলিতে এসেছি , তবে আমি সেগুলি পুরোপুরি বুঝতে পারি না।

ডকার saveএবং এর exportমধ্যে পার্থক্য কী ?


4
আমি এই সম্পর্কে একটি ব্লগ পোস্টও লিখেছি tuhrig.de/differences-between-save-and-port-in-docker
টমাস উহরিগ

উত্তর:


169

সংক্ষিপ্ত উত্তরটি হ'ল:

  • saveএকটি চিত্র আনবে: ভিএম বা শারীরিক সার্ভারের জন্য, এটি ইনস্টলেশন installationআইএসও চিত্র বা ডিস্ক। বেস অপারেটিং সিস্টেম।

    এটি চিত্রটি তৈরি করতে প্রয়োজনীয় সমস্ত চেইনের স্তরগুলি এবং মেটাডেটা প্যাক করবে। তারপরে আপনি এই "সংরক্ষিত" চিত্র চেইনটিকে অন্য ডকারের উদাহরণে লোড করতে পারেন এবং এই চিত্রগুলি থেকে পাত্রে তৈরি করতে পারেন।

  • exportপুরো ধারকটি আনবে: একটি নিয়মিত ভিএম এর স্ন্যাপশটের মতো। অবশ্যই ওএস সংরক্ষণ করে, তবে আপনার যে কোনও পরিবর্তন হয়েছে, ধারক জীবনের সময় লেখা কোনও ডেটা ফাইল। এটি আরও একটি aতিহ্যবাহী ব্যাকআপের মতো।

    এটি আপনাকে আপনার ধারকটির ফাইল সিস্টেম যুক্ত ফ্ল্যাট। স্টোর সংরক্ষণাগার দেবে give

সম্পাদনা: আমার ব্যাখ্যাটি এখনও বিভ্রান্তির কারণ হতে পারে বলে আমি মনে করি যে এটি বোঝার জন্য এটি গুরুত্বপূর্ণ যে এই কমান্ডগুলির মধ্যে একটি ধারকগুলির সাথে কাজ করে, অন্যটি চিত্রগুলির সাথে কাজ করে।

  • কোনও চিত্রকে 'মৃত' বা অপরিবর্তনীয় হিসাবে বিবেচনা করতে হবে, এটি থেকে 0 বা 1000 টি ধারক শুরু করা একটি বাইট পরিবর্তন করবে না ter এজন্য আমি আগে একটি সিস্টেম ইনস্টল আইএসওয়ের সাথে তুলনা করেছি। এটি সম্ভবত কোনও লাইভ-সিডির কাছাকাছি।

  • একটি ধারক চিত্রটি "বুট" করে এবং এর উপরে একটি অতিরিক্ত স্তর যুক্ত করে। এই স্তরটি ধারকটিতে যে কোনও পরিবর্তন সংরক্ষণ করে (ফাইলগুলি তৈরি / পরিবর্তিত / সরানো ...) stores


2
কেবল আমার স্পষ্টতার জন্য: ধরে নেওয়া যাক আমার একটি চলমান ধারক রয়েছে যেখানে আমি কিছু পরিবর্তন করেছি (যেমন আমি একটি নতুন ফোল্ডার তৈরি করেছি)। এখন আমি এই ধারকটির একটি চিত্র (সহ docker commit) তৈরি করতে পারি। আমি তাহলে saveইমেজ করতে পারি । অথবা আমি exportসরাসরি ধারক করতে পারি । এবং উভয় উপায়ে ( saveচিত্র এবং exportধারক) একই ফল পাবে?
টমাস উহরিগ

2
হ্যা এবং না. এটি exportআপনাকে আপনার ধারক ফাইল সিস্টেম সমন্বিত একটি ফ্ল্যাট। স্টোর আর্কাইভ দেবে। saveচিত্রটি তৈরি করতে প্রয়োজনীয় সমস্ত চেইনের স্তর এবং মেটাডেটা প্যাক করবে। তারপরে আপনি এই savedচিত্র চেইনটিকে অন্য ডকারের উদাহরণে লোড করতে এবং এই চিত্রগুলি থেকে পাত্রে তৈরি করতে পারেন।
mbarthelemy

7
@ থমাসআগ্রিগ আপনি ধারকটিকে এক স্তর / বেস চিত্রে "সমতল" করতে এক্সপোর্ট ব্যবহার করতে পারেন। এছাড়াও আপনি এটি পাত্রে ব্যাক আপ করতে (ফি ডেটা ধারক) ব্যবহার করতে পারেন। তবে এটি exportফাংশন ছাড়াইও করা যায়।
জিরি

9
এছাড়াও, exportসমস্ত মেটাডেটা নষ্ট হয়ে যাবে, তাই আপনি যদি সেই চিত্রটির সাহায্যে ধারকটি চালানোর চেষ্টা করেন তবে আপনি সিএমডি এবং অন্যান্য মেটাটাটা পুনরায় উল্লেখ করবেন। saveআমার পক্ষে ভাল কাজ করেছে তবে রফতানি ব্যথা হয়েছিল
মেরাজ

1
আমি আমার চিত্রটি সর্বশেষ সংস্করণে আপডেট করতে চাই। এখন যে পাত্রে চলছে তা অভ্যন্তরীণ ফাইল সিস্টেমে কিছু পরিবর্তন করেছে। আপগ্রেড করার পরে, আমি এই পরিবর্তনগুলি পুনরুদ্ধার করতে চাই। আমি যেমন বুঝতে পেরেছি, সংরক্ষণ / লোড এবং রফতানি / আমদানি উভয়ই আমার জন্য একটি নতুন চিত্র তৈরি করবে, যা আমি চাই না। আমি ডকারহাব থেকে চিত্রটির একটি নতুন সংস্করণ ব্যবহার করতে চাই, তবে বিদ্যমান ধারক থেকে ডেটা পুনরুদ্ধার করতে চাই। কর্মের সেরা কোর্সটি কী?
দিমিত্রি z

20

কমান্ড saveএবং exportকমান্ডের মধ্যে দুটি প্রধান পার্থক্য রয়েছে ।

  1. saveকমান্ড ইতিহাস এবং মেটাডেটা সহ পুরো চিত্রটি সংরক্ষণ করে কিন্তু exportকমান্ড কেবল ফাইল কাঠামো রফতানি করে (ইতিহাস এবং মেটাডেটা ছাড়াই)। সুতরাং রফতানি হওয়া টার ফাইলটি সেভ করার পরে আরও ছোট হবে।

  2. যখন আপনি একটি নতুন ইমেজ তৈরি করার জন্য রপ্তানি ফাইল সিস্টেম ব্যবহার তারপর এই নতুন চিত্র কোনো থাকবে না USER, EXPOSE, RUNআপনার Dockerfile থেকে ইত্যাদি কমান্ড। কেবল ফাইল কাঠামো স্থানান্তরিত হবে। সুতরাং আপনি যখন নিজের ডকফাইলে উল্লিখিত কীওয়ার্ডগুলি ব্যবহার করছেন তখন আপনি অন্য মেশিনে চিত্র স্থানান্তর করার জন্য রফতানি কমান্ড ব্যবহার করতে পারবেন না - আপনার সর্বদা সেভ কমান্ড ব্যবহার করা দরকার।


4

রফতানি করা চিত্রটিতে কোনও স্তর বা ইতিহাসের তথ্য সংরক্ষণ করা হবে না, তাই এটি আরও ছোট হবে এবং আপনি রোলব্যাক করতে পারবেন না।

সংরক্ষিত ইমেজ হবে স্তর এবং ইতিহাস তথ্য, তাই বৃহত্তর আছে।

যদি কোনও গ্রাহককে এটি প্রদান করা হয়, প্রশ্নটি কি আপনি এই স্তরগুলি রাখতে চান বা রাখবেন না?


সুতরাং, একটি রফতানি কোনও টেক্সট ফাইলের সমান, যার উপরে কিছুই লেখা নেই ?? @ নীল
আতিথ রাজেন্দ্রান

4
এটি কোনও পাঠ্য ফাইলের মতো নয় যার পূর্বাবস্থায় বাফার নেই 8)
নীল ম্যাকগিল

2

প্রযুক্তিগতভাবে, সংরক্ষণ / লোড সংগ্রহস্থলগুলির সাথে কাজ করে যা এক বা একাধিক চিত্র হতে পারে, স্তর হিসাবেও উল্লেখ করা হয়। কোনও চিত্র একটি রেপোর মধ্যে একক স্তর। অবশেষে, একটি ধারক একটি তাত্ক্ষণিক চিত্র (চলমান বা না)।


1

ডকার সেভ একটি আলকাতরা ফাইল রেপো যা সব পিতা বা মাতা স্তর রয়েছে উত্পাদন, এবং সব ট্যাগ + + সংস্করণ অথবা নির্দিষ্ট রেপো: TAG, প্রতিটি যুক্তি থেকে প্রদান করা ইমেজ

ডকার রফতানি কনটেইনার থেকে নির্দিষ্ট ভলিউমের সামগ্রী ব্যতীত ফ্ল্যাট সামগ্রী সহ নির্দিষ্ট ফাইল (টার বা tgz হতে পারে) উত্পাদন করে ।

Docker সংরক্ষণ Docker যখন Docker ছবিতে ব্যবহার করতে প্রয়োজন রপ্তানি ধারক ব্যবহার করতে হবে (শুধু ইমেজ সঞ্চালন মত)

ব্যবহার সংরক্ষণ করুন

ডকার সংরক্ষণ করুন [বিকল্পগুলি] চিত্র [চিত্র ...]

একটি চিত্র সংরক্ষণ করুন একটি সংরক্ষণাগারগুলিতে (ডিফল্টরূপে STDOUT এ প্রবাহিত)

--help = মিথ্যা মুদ্রণ ব্যবহার -o, - আউটপুট = "" STDOUT এর পরিবর্তে কোনও ফাইলে লিখুন

এক্সপোর্ট ব্যবহার

ডকার রফতানি [বিকল্পগুলি] কন্টেইনার

একটি ধারক সংরক্ষণাগার হিসাবে কোনও ধারকের ফাইল সিস্টেমের সামগ্রীগুলি রফতানি করুন

--help = মিথ্যা মুদ্রণ ব্যবহার -o, - আউটপুট = "" STDOUT এর পরিবর্তে কোনও ফাইলে লিখুন


1
প্রশ্নটি দুটি আদেশের মধ্যে পার্থক্য সম্পর্কে, সাধারণ সংজ্ঞা এবং ব্যবহার সম্পর্কে নয়!
আবু শুমন

0

export: container (filesystem)-> image tar
import: exported image tar->image । একটি মাত্র স্তর।

save: image-> image tar
load: saved image tar-> image। সমস্ত স্তর পুনরুদ্ধার করা হবে।

থেকে এক্সন মধ্যে Docker, দ্বিতীয় সংস্করণ p190।

স্তরযুক্ত চিত্রগুলি চিত্র, ধারক-তৈরি মেটাডেটা এবং পুরানো ফাইলগুলি মুছে ফেলা বা ওভাররাইড করা হতে পারে তার ইতিহাস বজায় রাখে।

সমতল চিত্রগুলিতে কেবল ফাইল সিস্টেমের ফাইলগুলির বর্তমান সেট থাকে contain

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