আমি কীভাবে ডকারের জন্য আমার নিজস্ব বেস চিত্র তৈরি করতে পারি?


97

ডকার ডকুমেন্টেশন অনুসারে , আপনার নিজের ইমেজ তৈরি করতে, আপনাকে FROMনির্দেশটি ব্যবহার করে সর্বদা একটি বেস চিত্র নির্দিষ্ট করতে হবে ।

স্পষ্টতই, ডকার সূচকে বেছে নিতে প্রচুর চিত্র রয়েছে তবে আমি যদি নিজের তৈরি করতে চাইতাম তবে কী হবে? এটা কি সম্ভব?

baseআমি সঠিকভাবে বুঝতে পারলে চিত্রটি উবুন্টু থেকে তৈরি করা হয়েছে এবং আমি কোনও ডেবিয়ান চিত্র নিয়ে পরীক্ষা করতে চাই। এছাড়াও, আমি সত্যিই ডকার কীভাবে কাজ করে তা বুঝতে চাই এবং baseচিত্রটি এখনও আমার জন্য একটি ব্ল্যাকবক্স।


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


কিছু যায় আসে না। :-) এখানে প্রশ্নাগুলি সাইটের গাইডলাইন অনুসারে এখনও অনন্য-বিষয় হতে হবে। এগুলি সহায়তা কেন্দ্র এবং ট্যুর পৃষ্ঠাগুলিতে আচ্ছাদিত । (সেটির লিঙ্কটিও ডকারের ধারকগুলির বিকাশকারীদের সাথে সম্পর্কিত বলে মনে হয়)) আপনি যদি নিজের কন্টেইনার চিত্র সম্পর্কে জিজ্ঞাসা করেন তবে তাদের সাইটে
কেন হোয়াইট

@KenWhite: প্রাসঙ্গিক মেটা প্রশ্ন: meta.stackexchange.com/questions/179249/...
Flimm

:-) এই মুহুর্তে প্রাসঙ্গিক মেটা উত্তর , যা আপনার ঠিক উপরে উপরে উত্তর। (আপনার প্রশ্নটি কী জিজ্ঞাসা করছে তার স্পষ্টতা সম্পর্কে আমি যুক্ত হওয়া উত্তরের বিশেষত দ্বিতীয় মন্তব্য দেখুন See)
কেন হোয়াইট

9
@ কেন হোয়াইট: প্রশ্ন হল কীভাবে একটি বেস ইমেজ 'তৈরি' করা যায়, কীভাবে কোনও 'ইমেজ' স্থাপন করা যায় না। ফ্লেম এমন কিছু প্রোগ্রাম করার চেষ্টা করছে যা তার পরে বা অন্য দ্বারা স্থাপন করা যেতে পারে। অ্যামাজন ইসি 2 স্থাপনার সাথে সম্পর্কিত, তবে আমি মনে করি তাদের কাছে এখনও বেশ কয়েকটি প্রোগ্রামার প্রোগ্রামিং প্রোগ্রামি স্টাফ রয়েছে :)। বেস ইমেজ তৈরি করা আমি যে প্রোগ্রামি স্টাফগুলির একটি উদাহরণ।
qkrijger

@ কিকিজিগার: লিঙ্কযুক্ত মেটা প্রশ্নে এটি আলোচনা করা হচ্ছে। যেহেতু সেই আলোচনাটি উন্মুক্ত, সুতরাং দয়া করে সেখানে স্থিতিস্থানের যে কোনও আলোচনা পোস্ট করুন (যেখানে sensক্যমত্য বলে মনে হয় এটি কোনও "প্রোগ্রামিং স্টাফ" বিষয় নয়)।
কেন হোয়াইট

উত্তর:


38

বেস ইমেজগুলি কীভাবে তৈরি হয় সেদিকে একবার নজর দিতে পারেন এবং সেখান থেকে যেতে পারেন।

আপনি এগুলি এখানে পেতে পারেন: https://github.com/dotcloud/docker/tree/master/contrib । Mkimage-busybox.sh, mkimage-unittest.sh, mkimage-debian.sh রয়েছে


4
এমকিমাজে - * স্ক্রিপ্টগুলি এখানে সরানো হয়েছে এবং নাম পরিবর্তন করা হয়েছে (সরকারী রেপো রয়েছে) এখানে
tsalaroth

32

সলোমন হাইকসের উদ্ধৃতি :

আপনি সহজেই "ডকার আমদানি" দিয়ে কোনও টারবাল থেকে একটি নতুন ধারক তৈরি করতে পারেন। উদাহরণ স্বরূপ:

debootstrap raring ./rootfs
tar -C ./rootfs -c . | docker import - flimm/mybase

পরিবর্তে কোনও মন্তব্যে সম্পাদনা / আপডেট পোস্ট করুন যাতে অন্যরা এটি দেখতে পারে এবং সম্ভবত কেউ সম্পাদনাটি পুনরায় জমা দিতে পারে।
বিডোসারর

4
@ ফ্লিম এই ক্ষেত্রে আমাকে সুডো ব্যবহারের প্রয়োজন হবে কেন? আপনার ব্যবহারকারীর ডিরেক্টরিতে এই কমান্ডগুলি চালনা করুন এবং বিশেষাধিকারের উন্নতির কোনও কারণ আপনার নেই। আপনি একটি চিত্র তৈরি করছেন, এটি ইনস্টল করছেন না।
rancidfishbreath

এমনকি আপনার সাধারণ ডকার ব্যবহারের জন্যও মূলের প্রয়োজন নেই; কেবল নিজেকে dockerগ্রুপে যুক্ত করুন।
tekknolagi

4
তবে ফ্লিমের দ্বারা প্রস্তাবিত আমদানি কমান্ডের হাইফেন প্রয়োজনীয়: docker import - flimm/mybaseপরিবর্তেdocker import flimm/mybase
ড্যানিয়েল অ্যাল্ডার

আপনি মূল হিসাবে চালাচ্ছেন বা না করছেন তার মধ্যে ফাইলগুলির মালিকানা প্রভাবিত করবে। যদি রুট হিসাবে না হয়, তবে debootstrapএবং tarঅন্ততপক্ষে চালানো উচিত fakeroot
ক্ল্যাক 10

21

(পিতৃলিনাক্সকে creditণ) http://developerblog.redhat.com/2014/05/15/practical-intr پيداوار-to-docker-containers/ থেকে তথ্য পান , যা আরও ভাল ব্যাখ্যা করে

  1. আপনার ফাইল সিস্টেমের জন্য টার ফাইলগুলি তৈরি করুন, সহজভাবে হতে পারে

    tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos6-base.tar /
    
  2. স্থানীয়ভাবে ইনস্টল না করা থাকলে এবং importতার থেকে ডার ফাইলটিকে অন্য ডকার সিস্টেমে স্থানান্তর করুন

    cat centos6-base.tar | docker import - centos6-base
    
  3. এখন আপনি এটি চালিয়ে যাচাই করতে পারেন।

    docker run -i -t centos6-base cat /etc/redhat-release
    

Dotcloud থেকে স্ক্রিপ্ট প্রথম দুটি ধাপে একসঙ্গে যা আমাকে বিভ্রান্ত এবং সৌন্দর্য শুরুতে জটিল করতে একত্র করি।

ডকার অফিসিয়াল গাইডলাইন ব্যবহার করছেdebootstrap ক্লিন ফাইল সিস্টেম তৈরি করার চেষ্টা করে।

কীভাবে পদক্ষেপ 1 করবেন তা আপনি নিজেই বিচার করতে পারেন।


14

স্ক্র্যাচ থেকে নিজের ইমেজ তৈরি করা শুরু করতে, আপনি scratchইমেজটি ব্যবহার করতে পারেন ।

স্ক্র্যাচ "চিত্র" সিগন্যালটি বিল্ড প্রসেসের সাহায্যে আপনি ডকফাইফাইলের পরবর্তী কমান্ডটি আপনার চিত্রের প্রথম ফাইল সিস্টেম স্তর হতে চান তা ব্যবহার করে।

FROM scratch
ADD hello /
CMD ["/hello"]

http://docs.docker.com/engine/articles/baseimages/#creating-a-simple-base-image-used-scratch


4
importএকটি টার ফাইল থেকে এই প্লাসটি হ'ল দুটি আধ্যাত্মিক উত্তর এবং সেই লিঙ্কটি হ'ল প্রচলিত সংস্থান resource
ক্ল্যাক 10

7

আপনি যদি নিজের ভিত্তি চিত্র তৈরি করতে চান তবে আমি প্রথমে সরকারী চিত্রগুলি একবার দেখে নেব , বিশেষত stackbrewসেই রেপোর ভিতরে।

অন্যথায় ডকার রেপোতে ন্যূনতম ওএস চিত্রগুলির জন্য কিছু দুর্দান্ত উল্লেখ রয়েছে

উদাহরণস্বরূপ, এখানে একটি ন্যূনতম খিলান চিত্র তৈরির জন্য একটি স্ক্রিপ্ট রয়েছে এবং এখানে আরও রয়েছে

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