এটি কমান্ড ডকার-বিল্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
docker-build - PATH-এ সোর্স কোড থেকে একটি নতুন ছবি তৈরি করুন
সাইনোপিসিস
ডকশ্রমিক নির্মাণ করা [--বিল্ড-আর্গ[=[]]] [--cpu-শেয়ার[=0]] [--cgroup-অভিভাবক[=CGROUP-পিতা-মাতা]]
[--help] [-f|--ফাইল[=PATH/ডকারফাইল]] [--ফোর্স-আরএম] [--আলাদা করা[=ডিফল্ট]] [--নো-ক্যাশে]
[--টান] [-q|-- শান্ত] [--আরএম[=সত্য]] [-t|--ট্যাগ[=[]]] [-m|--স্মৃতি[=স্মৃতি]]
[--মেমরি-অদলবদল[=LIMIT টি]] [--shm-আকার[=SHM-আকার]] [--cpu-পিরিয়ড[=0]] [--cpu-কোটা[=0]]
[--cpuset-cpus[=CPUSET-CPUS]] [--cpuset-mems[=CPUSET-MEMS]] [--উলিমিট[=[]]] পথ | URL | -
বর্ণনাঃ
এটি নির্দেশিত ডিরেক্টরি থেকে ডকারফাইলটি পড়বে পাথ. এটি যেকোনও পাঠায়
ডকার ডেমনের বর্তমান ডিরেক্টরিতে অন্যান্য ফাইল এবং ডিরেক্টরি পাওয়া যায়। দ্য
এই ডিরেক্টরির বিষয়বস্তু দ্বারা ব্যবহার করা হবে ADD ডকারফাইলের মধ্যে কমান্ড পাওয়া যায়।
সতর্কতা, এটি ডকার ডেমনের বিষয়বস্তুর উপর নির্ভর করে প্রচুর ডেটা পাঠাবে
বর্তমান ডিরেক্টরি। বিল্ডটি ডকার ডেমন দ্বারা চালিত হয়, CLI দ্বারা নয়, তাই পুরোটাই
প্রসঙ্গ অবশ্যই ডেমনে স্থানান্তর করা উচিত। ডকার সিএলআই রিপোর্ট করে "বিল্ড প্রসঙ্গ পাঠানো হচ্ছে
ডকার ডেমনে" যখন প্রসঙ্গটি ডেমনে পাঠানো হয়।
যখন একটি টারবল সংরক্ষণাগার বা একটি একক ডকারফাইলের URL দেওয়া হয়, তখন কোনো প্রসঙ্গ পাঠানো হয় না
ক্লায়েন্ট থেকে ডকার ডেমনে। এই ক্ষেত্রে, ডকারফাইলের মূলে রয়েছে
আর্কাইভ এবং বাকি আর্কাইভ বিল্ডের প্রেক্ষাপট হিসেবে ব্যবহার করা হবে। যখন একটি গিট
সংগ্রহস্থল হিসাবে সেট করা হয় URL টি, সংগ্রহস্থল স্থানীয়ভাবে ক্লোন করা হয় এবং তারপর হিসাবে পাঠানো হয়
প্রসঙ্গ
বিকল্প
-f, --ফাইল=PATH/ডকারফাইল
ব্যবহার করার জন্য ডকারফাইলের পাথ। পথ যদি আপেক্ষিক পথ হয় আর তুমি
একটি স্থানীয় ডিরেক্টরি থেকে বিল্ডিং, তারপর পাথ যে আপেক্ষিক হতে হবে
ডিরেক্টরি আপনি একটি দূরবর্তী URL থেকে বিল্ডিং হয় যদি একটি নির্দেশ করে
tarball বা একটি Git সংগ্রহস্থল, তারপর পাথ রুট আপেক্ষিক হতে হবে
দূরবর্তী প্রসঙ্গ সব ক্ষেত্রে, ফাইলটি অবশ্যই বিল্ড কনটেক্সটের মধ্যে থাকতে হবে।
ডিফল্ট হয় Dockerfile.
--বিল্ড-আর্গ=পরিবর্তনশীল
a এর নাম এবং মান buildarg.
উদাহরণস্বরূপ, যদি আপনি একটি মান পাস করতে চান হাইপারটেক্সট ট্রান্সফার প্রটোকল প্রক্সিব্যবহার করুন
--build-arg=http_proxy="http://some.proxy.url"
ব্যবহারকারীরা বিল্ড-টাইমে এই মানগুলি পাস করে। ডকার ব্যবহার করে নির্মাণ যেমন
ডকারফাইলের মাধ্যমে চালিত কমান্ডের জন্য পরিবেশের প্রসঙ্গ চালান নির্দেশ
অথবা অন্যান্য ডকারফাইল নির্দেশাবলীতে পরিবর্তনশীল সম্প্রসারণের জন্য। এটা বোঝানো হয় না
গোপন মান পাস করার জন্য। ⟨/রেফারেন্স/নির্মাতা/#arg⟩
--ফোর্স-আরএম=সত্য|মিথ্যা
সর্বদা মধ্যবর্তী পাত্রগুলি সরান, এমনকি অসফল বিল্ড করার পরেও। ডিফল্ট হয়
মিথ্যা.
--আলাদা করা="ডিফল্ট"
আইসোলেশন কন্টেইনার দ্বারা ব্যবহৃত বিচ্ছিন্নতা প্রযুক্তির ধরন নির্দিষ্ট করে।
--নো-ক্যাশে=সত্য|মিথ্যা
ছবি তৈরি করার সময় ক্যাশে ব্যবহার করবেন না। ডিফল্ট হয় মিথ্যা.
--help
প্রিন্ট ব্যবহার বিবৃতি
--টান=সত্য|মিথ্যা
সর্বদা ইমেজের একটি নতুন সংস্করণ টানতে চেষ্টা করুন। ডিফল্ট হয় মিথ্যা.
-q, -- শান্ত=সত্য|মিথ্যা
বিল্ড আউটপুট দমন করুন এবং সাফল্যের উপর ইমেজ আইডি মুদ্রণ করুন। ডিফল্ট হয় মিথ্যা.
--আরএম=সত্য|মিথ্যা
একটি সফল নির্মাণের পরে মধ্যবর্তী পাত্রগুলি সরান। ডিফল্ট হয় সত্য.
-t, --ট্যাগ=""
রিপোজিটরির নাম (এবং ঐচ্ছিকভাবে ট্যাগ সহ) ফলিত চিত্রটিতে প্রয়োগ করতে হবে
সাফল্যের ক্ষেত্রে।
-m, --স্মৃতি=স্মৃতি
স্মৃতি সীমা
--মেমরি-অদলবদল=LIMIT টি
মেমরি প্লাস সোয়াপের সমান একটি সীমা মান। সঙ্গে ব্যবহার করা আবশ্যক -m (--স্মৃতি) পতাকা। দ্য
বিনিময় LIMIT টি সর্বদা এর চেয়ে বড় হওয়া উচিত -m (--স্মৃতি) মান।
এর বিন্যাস LIMIT টি is [ ]. ইউনিট হতে পারে b (বাইট), k (কিলোবাইট), m
(মেগাবাইট), অথবা g (গিগাবাইট)। আপনি যদি একটি ইউনিট নির্দিষ্ট না করেন, b ব্যবহৃত হয়. এতে LIMIT সেট করুন -1 থেকে
সীমাহীন অদলবদল সক্ষম করুন।
--shm-আকার=SHM-আকার
আকার /dev/shm. ফরম্যাট হল . সংখ্যা এর থেকে বড় হতে হবে 0.
ইউনিট ঐচ্ছিক এবং হতে পারে b (বাইট), k (কিলোবাইট), m (মেগাবাইট), অথবা g (গিগাবাইট)।
আপনি ইউনিট বাদ দিলে, সিস্টেম বাইট ব্যবহার করে।
আপনি আকার সম্পূর্ণরূপে বাদ দিলে, সিস্টেম ব্যবহার করে 64m.
--cpu-শেয়ার=0
CPU শেয়ার (আপেক্ষিক ওজন)।
ডিফল্টরূপে, সমস্ত পাত্রে CPU চক্রের একই অনুপাত পাওয়া যায়।
CPU শেয়ার একটি 'আপেক্ষিক ওজন', 1024 এর ডিফল্ট সেটিং এর সাথে আপেক্ষিক।
এই ডিফল্ট মান এখানে সংজ্ঞায়িত করা হয়েছে:
বিড়াল /sys/fs/cgroup/cpu/cpu.shares
1024
আপনি কন্টেইনারের CPU শেয়ার সামঞ্জস্য করে এই অনুপাত পরিবর্তন করতে পারেন
অন্যান্য সমস্ত চলমান পাত্রের ওজনের তুলনায় ওজন নির্ধারণ।
1024 এর ডিফল্ট থেকে অনুপাত পরিবর্তন করতে, ব্যবহার করুন --cpu-শেয়ার
2 বা উচ্চতর ওজন সেট করতে পতাকা.
ধারক CPU ভাগ পতাকা
{C0} CPU-এর 60% --cpu-shares=614 (614 হল 60-এর 1024%)
{C1} CPU-এর 40% --cpu-shares=410 (410 হল 40-এর 1024%)
অনুপাত শুধুমাত্র তখনই প্রয়োগ করা হয় যখন CPU- নিবিড় প্রক্রিয়াগুলি চলছে৷
যখন একটি পাত্রে কাজগুলি নিষ্ক্রিয় থাকে, তখন অন্যান্য পাত্রগুলি ব্যবহার করতে পারে৷
বাম-ওভার CPU সময়। CPU সময়ের প্রকৃত পরিমাণের উপর নির্ভর করে পরিবর্তিত হয়
সিস্টেমে চলমান পাত্রের সংখ্যা।
উদাহরণস্বরূপ, তিনটি পাত্র বিবেচনা করুন, যেখানে একটি আছে --cpu-shares=1024 এবং
অন্য দুই আছে --cpu-shares=512. যখন তিনটিতেই প্রসেস হয়
কন্টেইনাররা 100% CPU ব্যবহার করার চেষ্টা করে, প্রথম কন্টেইনারটি পাবে
মোট CPU সময়ের 50%। যদি আপনি একটি চতুর্থ ধারক সঙ্গে যোগ করুন --cpu-shares=1024,
প্রথম ধারকটি শুধুমাত্র CPU এর 33% পায়। অবশিষ্ট পাত্রে
CPU এর 16.5%, 16.5% এবং 33% প্রাপ্ত।
ধারক CPU ভাগ পতাকা CPU সময়
{C0} 100% --cpu-shares=1024 33%
{C1} 50% --cpu-shares=512 16.5%
{C2} 50% --cpu-shares=512 16.5%
{C4} 100% --cpu-shares=1024 33%
একটি মাল্টি-কোর সিস্টেমে, CPU সময়ের শেয়ারগুলি CPU জুড়ে বিতরণ করা হয়
কোর এমনকি যদি একটি ধারক সিপিইউ সময়ের 100% এরও কম সময়ে সীমাবদ্ধ থাকে, এটি করতে পারে
প্রতিটি পৃথক CPU কোরের 100% ব্যবহার করুন।
উদাহরণস্বরূপ, তিনটি কোরের বেশি সহ একটি সিস্টেম বিবেচনা করুন। আপনি যদি একটি শুরু
আধার {C0} সঙ্গে --cpu-shares=512 একটি প্রক্রিয়া চলছে, এবং অন্য ধারক
{C1} সঙ্গে --cpu-shares=1024 দুটি প্রক্রিয়া চলমান, এর ফলে নিম্নলিখিত হতে পারে
CPU শেয়ারের বিভাজন:
PID কন্টেইনার CPU CPU শেয়ার
CPU100 এর 0 {C0} 100 0%
CPU101 এর 1 {C1} 100 1%
CPU102 এর 1 {C2} 100 2%
--cpu-পিরিয়ড=0
CPU CFS (সম্পূর্ণভাবে ন্যায্য সময়সূচী) সময়সীমা সীমিত করুন।
কন্টেইনারের CPU ব্যবহার সীমিত করুন। এই পতাকা কার্নেলকে সীমাবদ্ধ করে
আপনার নির্দিষ্ট সময়ের জন্য কন্টেইনারের CPU ব্যবহার।
--cpu-কোটা=0
CPU CFS (সম্পূর্ণভাবে ন্যায্য শিডিউলার) কোটা সীমিত করুন।
ডিফল্টরূপে, কন্টেইনারগুলি সম্পূর্ণ CPU সংস্থান সহ চালিত হয়। এই পতাকা কার্নেল ঘটায়
আপনার নির্দিষ্ট করা কোটায় কন্টেইনারের CPU ব্যবহার সীমাবদ্ধ করুন।
--cpuset-cpus=CPUSET-CPUS
সিপিইউ যাতে এক্সিকিউশনের অনুমতি দেয় (0-3, 0,1)।
--cpuset-mems=CPUSET-MEMS
মেমরি নোড (MEMs) যাতে সম্পাদনের অনুমতি দেওয়া হয় (0-3, 0,1)। শুধুমাত্র কার্যকর
NUMA সিস্টেম।
উদাহরণস্বরূপ, যদি আপনার সিস্টেমে চারটি মেমরি নোড থাকে (0-3), ব্যবহার করুন --cpuset-mems=0,1 থেকে
নিশ্চিত করুন যে আপনার ডকার কন্টেইনারের প্রক্রিয়াগুলি শুধুমাত্র প্রথম দুটি মেমরি থেকে মেমরি ব্যবহার করে
নোড
--cgroup-অভিভাবক=CGROUP-পিতা-মাতা
যাবার পথ cgroups যার অধীনে ধারক এর cgroup তৈরি করা হয়.
যদি পথটি পরম না হয় তবে পথটিকে আপেক্ষিক হিসাবে বিবেচনা করা হয় cgroups এর পথ
init প্রক্রিয়া। Cgroups তৈরি করা হয় যদি তারা ইতিমধ্যে বিদ্যমান না থাকে।
--উলিমিট=[]
Ulimit বিকল্প
সম্পর্কে আরও তথ্যের জন্য সীমা দেখ
⟨https://docs.docker.com/reference/commandline/run/#setting-ulimits-in-a-container⟩
উদাহরণ
ভবন an ভাবমূর্তি ব্যবহার a Dockerfile অবস্থিত ভিতরে দ্য বর্তমান ডিরেক্টরি
বিল্ড কমান্ড এবং একটি ডকারফাইল ব্যবহার করে ডকার চিত্রগুলি তৈরি করা যেতে পারে:
ডকার বিল্ড।
বিল্ড প্রক্রিয়া চলাকালীন ডকার মধ্যবর্তী চিত্র তৈরি করে। তাদের রাখার জন্য, আপনি
স্পষ্টভাবে সেট করা আবশ্যক --rm = মিথ্যা.
ডকার বিল্ড --rm=false।
একটি ভাল অভ্যাস হল একটি সম্পর্কিত নামের সাথে একটি সাব-ডিরেক্টরি তৈরি করা এবং ডকারফাইল তৈরি করা
যে ডিরেক্টরিতে. উদাহরণস্বরূপ, মঙ্গো নামক একটি ডিরেক্টরিতে একটি ডকারফাইল থাকতে পারে
একটি ডকার মঙ্গোডিবি ইমেজ তৈরি করুন। একইভাবে, httpd নামে আরেকটি ডিরেক্টরি ব্যবহার করা যেতে পারে
Apache ওয়েব সার্ভার ইমেজের জন্য Dockerfiles সঞ্চয় করুন।
সাব-ডিরেক্টরিতে ইমেজের জন্য প্রয়োজনীয় ফাইল যোগ করাও একটি ভালো অভ্যাস।
এই ফাইলগুলি তারপর সঙ্গে নির্দিষ্ট করা হবে অনুলিপি or ADD নির্দেশাবলী Dockerfile.
দ্রষ্টব্য: আপনি যদি একটি টার ফাইল (একটি ভাল অনুশীলন) অন্তর্ভুক্ত করেন তবে ডকার স্বয়ংক্রিয়ভাবে নিষ্কাশন করবে
এর মধ্যে নির্দিষ্ট করা টার ফাইলের বিষয়বস্তু ADD নির্দিষ্ট মধ্যে নির্দেশ
লক্ষ্য।
ভবন an ভাবমূর্তি এবং নামকরণ যে ভাবমূর্তি
একটি ভাল অনুশীলন হল আপনি যে ছবিটি তৈরি করছেন তার একটি নাম দেওয়া। উল্লেখ্য যে শুধুমাত্র a-z0-9-_.
ধারাবাহিকতার জন্য ব্যবহার করা উচিত। এখানে কোন কঠিন নিয়ম নেই কিন্তু দেওয়াই ভালো
নাম বিবেচনা।
সার্জারির -t/--ট্যাগ পতাকা একটি ছবির নাম পরিবর্তন করতে ব্যবহৃত হয়। এখানে কিছু উদাহরণঃ:
যদিও এটি একটি ভাল অভ্যাস নয়, ছবির নামগুলি নির্বিচারে হতে পারে:
ডকার বিল্ড-টি মাইমেজ।
একটি ভাল পদ্ধতি হল একটি সম্পূর্ণ যোগ্য এবং অর্থপূর্ণ সংগ্রহস্থল, নাম এবং ট্যাগ প্রদান করা
(যেখানে এই প্রসঙ্গে ট্যাগ মানে ":" এর পরে কোয়ালিফায়ার)। এই উদাহরণে আমরা
ফেডোরা সংগ্রহস্থলের জন্য একটি JBoss ইমেজ তৈরি করুন এবং এটিকে 1.0 সংস্করণ দিন:
ডকার বিল্ড -টি ফেডোরা/জেবস:1.0।
পরবর্তী উদাহরণ হল "whenry" ব্যবহারকারী সংগ্রহস্থল এবং ফেডোরা এবং JBoss ব্যবহার করে এবং দেয়
এটি সংস্করণ 2.1:
ডকার বিল্ড -t whenry/fedora-jboss:v2.1।
আপনি যদি একটি সংস্করণ ট্যাগ প্রদান না করেন তাহলে ডকার বরাদ্দ করবে সর্বশেষ:
ডকার বিল্ড -t whenry/fedora-jboss।
আপনি যখন চিত্রগুলি তালিকাভুক্ত করবেন, উপরের ছবিতে ট্যাগ থাকবে সর্বশেষ.
আপনি একটি ছবিতে একাধিক ট্যাগ প্রয়োগ করতে পারেন। উদাহরণস্বরূপ, আপনি আবেদন করতে পারেন সর্বশেষ একটি ট্যাগ
নতুন নির্মিত চিত্র এবং একটি নির্দিষ্ট সংস্করণ উল্লেখ করে অন্য ট্যাগ যোগ করুন। উদাহরণস্বরূপ, থেকে
উভয় হিসাবে একটি ছবি ট্যাগ করুন whenry/fedora-jboss: সর্বশেষ এবং whenry/fedora-jboss:v2.1, ব্যবহার
নিম্নলিখিত:
ডকার বিল্ড -t whenry/fedora-jboss:latest -t whenry/fedora-jboss:v2.1।
তাই একটি ছবি পুনঃনামকরণ স্বেচ্ছাচারী কিন্তু একটি দরকারী কনভেনশন বিবেচনা করা উচিত
এটি ভোক্তাদের জন্য বোধগম্য করে এবং ডকার সম্প্রদায়কেও বিবেচনায় নেওয়া উচিত
নিয়মাবলী
ভবন an ভাবমূর্তি ব্যবহার a URL টি
এটি URL থেকে নির্দিষ্ট GitHub সংগ্রহস্থল ক্লোন করবে এবং এটিকে প্রসঙ্গ হিসাবে ব্যবহার করবে। দ্য
সংগ্রহস্থলের মূলে থাকা ডকারফাইলটি ডকারফাইল হিসাবে ব্যবহৃত হয়। এই শুধুমাত্র যদি কাজ করে
গিটহাব রিপোজিটরি একটি ডেডিকেটেড রিপোজিটরি।
ডকার বিল্ড github.com/scollier/purpletest
দ্রষ্টব্য: আপনি এর মাধ্যমে একটি নির্বিচারে গিট সংগ্রহস্থল সেট করতে পারেন git:// স্কিমা
ভবন an ভাবমূর্তি ব্যবহার a URL টি থেকে a tarball'ed প্রসঙ্গ
এটি ইউআরএল নিজেই ডকার ডেমনে পাঠাবে। ডেমন টারবল আনবে
সংরক্ষণাগার, এটি ডিকম্প্রেস করুন এবং এর বিষয়বস্তু বিল্ড প্রসঙ্গ হিসাবে ব্যবহার করুন। Dockerfile এ
আর্কাইভের রুট এবং বাকি আর্কাইভ বিল্ডের প্রেক্ষাপট হিসেবে ব্যবহার করা হবে।
যদি আপনি একটি পাস -f PATH/ডকারফাইল পাশাপাশি, সিস্টেমটি সেই ফাইলটি সন্ধান করবে
টারবলের বিষয়বস্তুর ভিতরে।
ডকার বিল্ড -এফ ডেভ/ডকারফাইল https://10.10.10.1/docker/context.tar.gz
দ্রষ্টব্য: সমর্থিত কম্প্রেশন ফর্ম্যাটগুলি হল 'xz', 'bzip2', 'gzip' এবং 'পরিচয়'
সঙ্কোচন).
নির্দিষ্ট করুন বিচ্ছিন্নতা প্রযুক্তি উন্নত আধার (--আলাদা করা)
এই বিকল্পটি এমন পরিস্থিতিতে দরকারী যেখানে আপনি উইন্ডোজে ডকার কন্টেইনার চালাচ্ছেন।
সার্জারির --বিচ্ছিন্নতা= বিকল্প একটি ধারক এর বিচ্ছিন্নতা প্রযুক্তি সেট করে। লিনাক্সে, একমাত্র
সমর্থিত হয় ডিফল্ট বিকল্প যা লিনাক্স নামস্থান ব্যবহার করে। মাইক্রোসফ্ট উইন্ডোজে, আপনি করতে পারেন
এই মানগুলি নির্দিষ্ট করুন:
· ডিফল্ট: ডকার ডেমনের দ্বারা নির্দিষ্ট মান ব্যবহার করুন --exec-অপ্ট । যদি অপদেবতা না
একটি বিচ্ছিন্ন প্রযুক্তি নির্দিষ্ট না, Microsoft Windows ব্যবহার করে প্রক্রিয়া এটির ডিফল্ট হিসাবে
মান।
· প্রক্রিয়া: শুধু নামস্থান বিচ্ছিন্নতা।
· hyperv: হাইপার-ভি হাইপারভাইজার পার্টিশন-ভিত্তিক বিচ্ছিন্নতা।
উল্লেখ করা --আলাদা করা একটি মান ছাড়া পতাকা সেটিং হিসাবে একই
--বিচ্ছিন্নতা="ডিফল্ট".
ইতিহাস
মার্চ 2014, মূলত উইলিয়াম হেনরি দ্বারা সংকলিত (whenry at redhat dot com) এর উপর ভিত্তি করে
docker.com উত্স উপাদান এবং অভ্যন্তরীণ কাজ. জুন 2014, Sven Dowideit দ্বারা আপডেট করা হয়েছে
⟨[ইমেল সুরক্ষিত]⟩ জুন 2015, স্যালি ও'ম্যালি দ্বারা আপডেট করা হয়েছে ⟨[ইমেল সুরক্ষিত]⟩
onworks.net পরিষেবা ব্যবহার করে অনলাইনে ডকার-বিল্ড ব্যবহার করুন