ডকার কন্টেইনারগুলি ডকার প্ল্যাটফর্মের অপরিহার্য উপাদানগুলির মধ্যে একটি যা ডকার ইমেজ ব্যবহার করে প্রোগ্রাম, কনফিগারেশন সেটিংস এবং নির্ভরতা প্যাকেজ করে। ডকার ইমেজ হল একটি সাধারণ টেমপ্লেট বা একটি কন্টেইনারের স্ন্যাপশট যা একটি অ্যাপ্লিকেশনকে কীভাবে কনটেইনারাইজ করতে হয় সে বিষয়ে কন্টেইনারকে নির্দেশিত করে। এই ছবিগুলি বেশিরভাগই অফিসিয়াল ডকার হাব রেজিস্ট্রিতে পাওয়া যায়। ব্যবহারকারীরা ডকারফাইল ব্যবহার করে প্রকল্পের প্রয়োজনীয়তা অনুসারে এই চিত্রগুলি ডিজাইন করতে পারে।
এই ব্লগটি ব্যাখ্যা করবে:
- একটি Dockerfile কি?
- ডকারফাইলের মৌলিক কমান্ড
- ডকারে একটি ডকারফাইল থেকে কীভাবে একটি উদাহরণ চালাবেন?
- ডকার কম্পোজে ডকারফাইল থেকে কীভাবে একটি উদাহরণ চালাবেন?
- উপসংহার
একটি Dockerfile কি?
একটি ডকারফাইল একটি সাধারণ পাঠ্য ফাইল যাতে কমান্ড এবং নির্দেশাবলী থাকে যা একটি ডকার কন্টেইনারের মৌলিক কাঠামোকে সংজ্ঞায়িত করে। এই নির্দেশাবলী কোন ফাইল ছাড়াই টার্মিনালে কার্যকর করা যেতে পারে কিন্তু প্রতিটি কমান্ডকে একের পর এক চালানো একটি জটিল এবং জটিল কাজ। ডকারফাইল ডেভেলপারদের জন্য একটি ফাইলে সমস্ত প্রয়োজনীয়তা এবং নির্দেশাবলী নির্দিষ্ট করা সহজ করে তোলে। এই ফাইলটি তখন কনটেইনার টেমপ্লেট তৈরি করতে ব্যবহার করা হবে যা একটি ডকার ইমেজ। এর পরে, ডকার কন্টেইনারে উদাহরণ শুরু করতে ডকার চিত্রটি কার্যকর করা হয়।
ডকারফাইলের মৌলিক কমান্ড
ডকারফাইলের কিছু মৌলিক কমান্ড যা ধারকটির মৌলিক স্ন্যাপশট সংজ্ঞায়িত করতে ব্যবহৃত হয় তা নীচে সারণী আকারে তালিকাভুক্ত করা হয়েছে:
কমান্ড | বর্ণনা |
থেকে | দ্য ' থেকে ” কমান্ডটি কন্টেইনার টেমপ্লেটের জন্য বেস ইমেজ সংজ্ঞায়িত করতে ব্যবহার করা হয়। এই ছবিগুলি অফিসিয়াল ডকার রেজিস্ট্রি ডকার হাব থেকে নেওয়া হয়েছে। |
রক্ষণাবেক্ষণকারী | দ্য ' রক্ষণাবেক্ষণকারী ' কমান্ড লেখক (নাম এবং ইমেল) তথ্য সংজ্ঞায়িত করে যিনি ডকার ইমেজ তৈরি করছেন। |
ওয়ার্কডির | এটি একটি কন্টেইনারাইজড অ্যাপ্লিকেশনের কাজের ডিরেক্টরি নির্দিষ্ট করে। |
কপি | হোস্ট সিস্টেম থেকে ডকার কন্টেইনারের নির্দিষ্ট পাথে উত্স এবং কনফিগারেশন ফাইলগুলি অনুলিপি করতে ব্যবহৃত হয়। |
যোগ করুন | দ্য ' যোগ করুন 'কমান্ড' এর অনুরূপ কপি ” কমান্ড কিন্তু এটি ইউআরএল থেকে কন্টেইনার পাথে ফাইল যোগ করতে রিমোট ইউআরএলকে সমর্থন করে যেমন গিটহাব রিপোজিটরি থেকে কন্টেইনার পাথে। |
চালান | দ্য ' চালান ” কন্টেইনারে কমান্ড চালানোর জন্য ব্যবহার করা হয়। ডকারফাইলে, এটি বেশিরভাগই ধারকটির ভিতরে অতিরিক্ত নির্ভরতা পরিচালনা এবং ইনস্টল করতে ব্যবহৃত হয়। |
সিএমডি | ' সিএমডি ” ডকার পাত্রে ডিফল্ট পয়েন্ট সংজ্ঞায়িত করে। এটি মূলত 'এর এক্সিকিউটেবল এবং ডিফল্ট প্যারামিটারগুলিকে সংজ্ঞায়িত করে' এন্ট্রিপয়েন্ট ” |
এন্ট্রিপয়েন্ট | দ্য ' এন্ট্রিপয়েন্ট ” কমান্ডটি ডকার কন্টেইনারের এক্সিকিউটেবল সেট করতেও ব্যবহৃত হয়। এটি মূলত ডিফল্ট অ্যাপ্লিকেশনগুলি সেট করে যা প্রতিবার একটি পাত্রে ব্যবহৃত হয়। ENTRYPOINT কমান্ডটি ডকারফাইলে একবার ব্যবহার করা হয়। |
ব্যবহারকারী | এই কমান্ডটি কন্টেইনারে কমান্ডগুলি চালানোর জন্য UID (ব্যবহারকারীর নাম) সেট করতে ব্যবহৃত হয় |
ভলিউম | দ্য ' ভলিউম ” কমান্ডটি একটি ধারক সহ বহিরাগত ভলিউম (ফাইল সিস্টেম) আবদ্ধ বা মাউন্ট করতে ব্যবহৃত হয়। |
ENV | দ্য ' ENV ” কমান্ডটি কন্টেইনারের পরিবেশ ভেরিয়েবল সেট করতে ব্যবহার করা হয়। |
ARG | দ্য ' ARG ” পাত্রের ভিতরে আর্গুমেন্ট পাস করতে ব্যবহার করা হয়। |
প্রকাশ করা | দ্য ' প্রকাশ করা ” কমান্ড এক্সপোজিং পোর্টগুলি নির্দিষ্ট করে যার উপর কন্টেইনারটি চালানো হবে। |
অনবিল্ড | এটি বেস ইমেজ থেকে নির্দেশাবলী পড়ে কিন্তু ডাউনস্ট্রিম ইমেজের মাধ্যমে এই নির্দেশাবলী ট্রিগার করে। |
লেবেল | দ্য ' লেবেল ” কন্টেইনার স্ন্যাপশটের মেটাডেটা নির্দিষ্ট করতে ব্যবহার করা হয়। |
ডকারে একটি ডকারফাইল থেকে কীভাবে একটি ডকার ইনস্ট্যান্স চালাবেন?
ডকারফাইল ব্যবহার করে একটি ডকার উদাহরণ বা ধারক চালানোর জন্য, প্রথমে একটি ডকারফাইল তৈরি করুন। তারপর, ডকারফাইল ব্যবহার করে ধারকটির জন্য মৌলিক স্ন্যাপশট তৈরি করুন। এর পরে, ডকার ইনস্ট্যান্স শুরু করতে স্ন্যাপশট চালান।
চিত্রের জন্য নীচের নির্দেশাবলী অনুসরণ করুন.
ধাপ 1: একটি ডকারফাইল তৈরি করুন
প্রথমত, একটি ডকারফাইল তৈরি করুন। মনে রাখবেন ডকারফাইলের কোনো ফাইল এক্সটেনশন নেই। এর পরে, ফাইলটিতে নিম্নলিখিত কমান্ডগুলি পেস্ট করুন:
গোলং থেকে: 1.8
ওয়ার্কডির / যাওয়া / src / অ্যাপ
কপি main.go.
চালান নির্মাণ যান -ও ওয়েব সার্ভার .
প্রকাশ করা 8080 : 8080
এন্ট্রিপয়েন্ট [ './ওয়েব সার্ভার' ]
ধাপ 2: প্রোগ্রাম ফাইল তৈরি করুন
এর পরে, 'নামক একটি নতুন ফাইল তৈরি করুন main.go যা সহজ গোলং প্রোগ্রাম ধারণ করে। এই উদ্দেশ্যে, ফাইলটিতে নিম্নলিখিত প্রোগ্রামটি পেস্ট করুন:
প্যাকেজ প্রধানআমদানি (
'fmt'
'লগ'
'নেট/http'
)
ফাঙ্ক হ্যান্ডলার ( ভিতরে http.ResponseWriter, r * http.অনুরোধ ) {
fmt.Fprintf ( ভিতরে , 'হ্যালো! LinuxHint টিউটোরিয়ালে স্বাগতম' )
}
ফাংশন প্রধান ( ) {
http.HandleFunc ( '/' , হ্যান্ডলার )
লগ। মারাত্মক ( http.ListenAndServe ( '0.0.0.0:8080' , শূন্য ) )
}
ধাপ 3: কন্টেইনার স্ন্যাপশট তৈরি করুন
এখন, ' ব্যবহার করে কন্টেইনারের ডকার স্ন্যাপশট তৈরি করুন ডকার বিল্ড -t
উপরের কমান্ডে, ' -t ' বিকল্পটি ছবির নাম বা ট্যাগ সেট করে, ' -চ ” বিকল্পটি ডকারফাইলের পথ নির্দিষ্ট করে যেখান থেকে ডকার ইঞ্জিনকে বিল্ড প্রসঙ্গ পড়তে হবে:
ছবিটি সফলভাবে তৈরি হয়েছে কিনা তা পরীক্ষা করতে, 'চালান করুন' ডকার ইমেজ
আউটপুট দেখায় যে আমরা সফলভাবে ডকারফাইল থেকে কন্টেইনারের স্ন্যাপশট তৈরি করেছি:
ধাপ 4: কন্টেইনার ফায়ার করতে স্ন্যাপশট চালান
এখন, উপরের ধাপে তৈরি কন্টেইনারের স্ন্যাপশটটি কার্যকর করে ডকার কন্টেইনারে ডকারের উদাহরণ শুরু করুন:
ডকার রান -পি 8080 : 8080 -- নাম চলুন -d go-imgউপরের কমান্ডে, ' -পি ' বিকল্পটি ধারক চালায় ' 8080 'বন্দর,' -নাম ' ধারকটির নাম সেট করে এবং ' -d ” বিকল্পটি বিচ্ছিন্ন মোডে কন্টেইনার চালায় (ব্যাকগ্রাউন্ড পরিষেবা):
কনটেইনারটি কার্যকর হচ্ছে কিনা তা যাচাই করতে, ' ব্যবহার করে চলমান পাত্রগুলির তালিকা করুন ডকার পিএস 'আদেশ:
ডকার পুনশ্চ
এখন, 'এ নেভিগেট করুন http://localhost:8080 এবং অ্যাপ্লিকেশনটি এক্সপোজিং পোর্টে চলছে কিনা তা যাচাই করুন:
উপরের আউটপুটটি নির্দেশ করে যে আমরা কার্যকরভাবে ডকারফাইল ব্যবহার করে ডকার ইনস্ট্যান্স শুরু করেছি।
ডকার কম্পোজে ডকারফাইল থেকে কীভাবে একটি উদাহরণ চালাবেন?
ডকার কম্পোজ ডকার প্ল্যাটফর্মের আরেকটি প্রধান প্লাগইন যা আমাদেরকে এক সময়ে বিভিন্ন পাত্রে একাধিক দৃষ্টান্ত চালাতে সক্ষম করে। ব্যবহারকারীরা ডকার কম্পোজ প্লাগইন ব্যবহার করে ডকারফাইল থেকে ডকার ইনস্ট্যান্স চালাতে পারে। দৃষ্টান্তের জন্য, প্রদত্ত পদক্ষেপগুলি অনুসরণ করুন।
ধাপ 1: ডকারফাইল তৈরি করুন
প্রথমত, একটি ডকারফাইল তৈরি করুন। উদাহরণস্বরূপ, আমরা একই ডকারফাইল এবং প্রোগ্রাম ফাইল ব্যবহার করছি যা উপরের বিভাগে ব্যবহৃত হয়:
গোলং থেকে: 1.8ওয়ার্কডির / যাওয়া / src / অ্যাপ
কপি main.go.
চালান নির্মাণ যান -ও ওয়েব সার্ভার .
প্রকাশ করা 8080 : 8080
এন্ট্রিপয়েন্ট [ './ওয়েব সার্ভার' ]
ধাপ 2: docker-compose.yml ফাইল তৈরি করুন
পরবর্তী, একটি তৈরি করুন ' docker-compose.yml ” ফাইল এবং ফাইলে নিম্নলিখিত কী জোড়া অনুলিপি করুন:
সংস্করণ: '3'সেবা:
ওয়েব:
নির্মাণ:.
বন্দর:
- 8080 : 8080
উপরে উল্লিখিত snipped মধ্যে:
- ' সেবা ” কম্পোজিং পরিষেবাগুলি নির্দিষ্ট করতে ব্যবহার করা হয় যা একটি পৃথক পাত্রে কার্যকর করা হবে। উদাহরণের জন্য, আমরা শুধুমাত্র একটি পরিষেবা কনফিগার করেছি ' ওয়েব কোডটি পরিষ্কার এবং সহজ রাখতে।
- ' নির্মাণ ডকারফাইল থেকে বিল্ড প্রসঙ্গ পড়ার জন্য কী জোড়া ব্যবহার করা হয়। এখানে, ডকার ডকারফাইল থেকে নির্দেশাবলী পড়বে এবং সেই অনুযায়ী কন্টেইনার তৈরি করবে।
- ' বন্দর ” কী এক্সপোজিং পোর্টগুলিকে সংজ্ঞায়িত করে যার উপর কন্টেইনারটি চালানো হবে৷
ধাপ 3: ডকার ইনস্ট্যান্স শুরু করুন
এখন, ' ব্যবহার করে একটি পাত্রে ডকার উদাহরণটি চালান docker- রচনা করা 'আদেশ:
docker- রচনা করা -d
যাচাইকরণের জন্য, ' ডকার-কম্পোজ পিএস 'আদেশ:
docker- রচনা পুনশ্চআউটপুট দেখায় যে ' ওয়েব 'সেবা সফলভাবে চালানো হচ্ছে' golangapp-web-1 'পাত্র:
কম্পোজ সার্ভিসের এক্সপোজিং পোর্টে নেভিগেট করুন এবং প্রোগ্রামটি কার্যকর হচ্ছে কিনা তা যাচাই করুন। নীচের ফলাফল দেখায় যে আমরা ডকার কম্পোজ ব্যবহার করে ডকারফাইল থেকে ডকার ইনস্ট্যান্স সফলভাবে শুরু করেছি:
এটি একটি ডকারফাইল থেকে একটি ডকার উদাহরণ চালানোর বিষয়ে।
উপসংহার
একটি ডকারফাইল থেকে একটি পাত্রে একটি ডকার উদাহরণ কার্যকর করতে, প্রথমে ডকারফাইল তৈরি করুন। ডকার কন্টেইনারের ইমেজ বা টেমপ্লেট তৈরি করতে ফাইলের ভিতরে কমান্ড যোগ করুন। তারপর, ' ব্যবহার করে কন্টেইনার ইমেজ বা স্ন্যাপশট তৈরি করুন ডকার বিল্ড -t