একটি কাস্টম চিত্র তৈরি করার সময় আপনি চিত্রটির নাম সেট করতে পারেন:
docker build -t dude/man:v2 . # Will be named dude/man:v2
ডকফাইফিলে চিত্রটির নাম সংজ্ঞায়নের কোনও উপায় আছে, সুতরাং আমাকে docker build
কমান্ডটিতে এটি উল্লেখ করার দরকার নেই ?
একটি কাস্টম চিত্র তৈরি করার সময় আপনি চিত্রটির নাম সেট করতে পারেন:
docker build -t dude/man:v2 . # Will be named dude/man:v2
ডকফাইফিলে চিত্রটির নাম সংজ্ঞায়নের কোনও উপায় আছে, সুতরাং আমাকে docker build
কমান্ডটিতে এটি উল্লেখ করার দরকার নেই ?
উত্তর:
চিত্রটি ট্যাগ করা ডকফাইফিলের মধ্যে সমর্থিত নয়। এটি আপনার বিল্ড কমান্ডে করা দরকার। কার্যকারণ হিসাবে, আপনি একটি ডকার-কম্পোজ.আইএমএল দিয়ে বিল্ডটি করতে পারেন যা লক্ষ্য চিত্রটির নাম সনাক্ত করে এবং তারপরে একটি চালাতে পারে docker-compose build
। একটি নমুনা ডকার-কমপোজ.আইএমএল দেখতে ভালো লাগবে
version: '2'
services:
man:
build: .
image: dude/man:v2
এটি বলেছিল, রচনাটি নির্মাণের বিরুদ্ধে একটি চাপ রয়েছে যেহেতু এটি ঝাঁক মোড মোতায়েনের সাথে কাজ করে না। সুতরাং আপনি আপনার প্রশ্নে কমান্ডটি চালিয়ে ফিরে এসেছেন:
docker build -t dude/man:v2 .
ব্যক্তিগতভাবে, আমি আমার ফোল্ডারে একটি ছোট শেল স্ক্রিপ্ট (বিল্ড.শ) দিয়ে তৈরি করতে চাই যা কোনও আরগগুলি পাস করে এবং টাইপিং সংরক্ষণের জন্য সেখানে চিত্রটির নাম অন্তর্ভুক্ত করে। এবং উত্পাদনের জন্য, বিল্ডটি একটি সিআই / সিডি সার্ভার দ্বারা পরিচালিত হয় যা পাইপলাইন স্ক্রিপ্টের ভিতরে চিত্রের নাম ধারণ করে।
YML ফাইলটি ব্যবহার না করে কীভাবে কাস্টম নামের সাথে একটি চিত্র তৈরি করবেন:
docker build -t image_name .
কাস্টম নাম সহ একটি ধারক কীভাবে চালাবেন:
docker run -d --name container_name image_name
Dockerfile
নিজের ইমেজটির জন্য চান তেমন নামের সাথে ডিরেক্টরিতে ডিরেক্টরিটি রাখেন তবে আপনি docker build -t $(basename $PWD) .
আপনার বিল্ড কমান্ড হিসাবে ব্যবহার করতে পারেন । তারপরে আপনি কমান্ডটি খুঁজে পেতে এবং পুনরায় ব্যবহার করতে "বিল্ড" থেকে সিটিআরএল-আর অনুসন্ধান ব্যবহার করতে পারেন এবং এটি সম্পাদনা করতে হবে না। আপনি যদি এটি চান তবে এটি একটি উপাধিও তৈরি করতে পারেন।
আপনাকে যদি একটি নির্দিষ্ট ডকার ফাইলটি উল্লেখ করতে হয় তবে এখানে আরও একটি সংস্করণ রয়েছে:
version: "3"
services:
nginx:
container_name: nginx
build:
context: ../..
dockerfile: ./docker/nginx/Dockerfile
image: my_nginx:latest
তারপরে আপনি শুধু চালান
docker-compose build
আপনি উবুন্টু থেকে 'AS' ব্যবহার করে এটি করতে পারেন: 16.04 AS FooImage থেকে AS
AS
সিনট্যাক্স লক্ষ্য একটি মাল্টি-পর্যায় বিল্ড ব্যবহৃত নাম নির্দিষ্ট করে, এবং এই নামটি জন্য একটি চিত্র স্থানে ব্যবহার করা যেতে পারে COPY --from
যে বহু-পর্যায় বিল্ড মধ্যে বাক্য গঠন। তবে এটি নিজেরাই বিল্ডের জন্য ফলাফলের নাম / ট্যাগ নির্দিষ্ট করে না।