ডকার রান বনাম তৈরি করুন


97

আদেশ docker rundocker createআদেশের মধ্যে পার্থক্য কী ?

আমি সাধারণত ব্যবহার করি runতবে কখনও কখনও ডকুমেন্টেশনেও দেখি create

ডকারের --helpকথা

create    Create a new container
run       Run a command in a new container

runযখন আমাদের কোনও নতুন ধারককে একটি আদেশ পাঠানোর প্রয়োজন হয় তখন এর অর্থ কি ? তাহলে কিসের উদ্দেশ্য create?

উত্তর:


106

ডকার ডকুমেন্টেশন থেকে

ডকার ক্রু কমান্ড নির্দিষ্ট চিত্রের উপরে একটি লিখনযোগ্য ধারক স্তর তৈরি করে এবং নির্দিষ্ট কমান্ড চালানোর জন্য এটি প্রস্তুত করে। কনটেইনার আইডিটি তখন STDOUT এ মুদ্রিত হয়। এই Docker রান অনুরূপ -d ব্যতীত ধারক শুরু না হয় । তারপরে আপনি যে কোনও সময়ে ধারকটি শুরু করতে ডকার শুরু কমান্ডটি ব্যবহার করতে পারেন।

এই যখন দরকারী আপনি চান একটি ধারক স্থাপন কনফিগারেশন এগিয়ে সময় যাতে এটি শুরু করার জন্য যখন আপনি এটি প্রয়োজন প্রস্তুত। নতুন ধারকটির প্রাথমিক অবস্থা তৈরি হয়।


4
আদল ওপর জোর দিয়ে --run --create হিসাবে সব একই আর্গুমেন্ট (ঠিক --detach যোগে সঙ্গে, --detach-কি, এবং --sig-প্রক্সি) গ্রহণ করে দেখুন docs.docker.com/v17.09 / ইঞ্জিন / রেফারেন্স / কমান্ডলাইন / রান /…
মার্ভিন

121

টেকনিক্যালি, docker run= docker create+ + docker start


45
আসলে, এবং আমি এটি শিখতে কয়েক ঘন্টা ব্যয় করেছি, docker run= docker create+ docker start+ docker attach। ছাড়া attach, শুরু করা পাত্রটি পটভূমিতে চলে
ওয়েবওয়ার

19

4
ইউ লিখেছেন "ডকার রান কনটেইনার তৈরি করে (ডকার তৈরির মতো) এবং এটি চালায়।" <--- বিজ্ঞপ্তি সংজ্ঞা, এবং আপনি এক্সিকিউট এবং শুরু এবং আপনি "এটি চালায়" হিসাবে উল্লেখ করেন এর মধ্যে পার্থক্য প্রতিষ্ঠা করেন নি। (এবং আপনি যখন বলেন "এটি চালিয়ে যায়" যদি আমরা আপনার ডকরে রান করার সংজ্ঞাটি লক্ষ্য করি তবে এর অর্থ তৈরি এবং চালানো হয়, সুতরাং আপনি একটি অসীম সংখ্যার সাথে সমাপ্ত হতেন .. সুতরাং সম্ভবত আপনি যখন বলছেন তখন তার চেয়ে কম কিছু বোঝাতে চাইছেন "এটি চালায়" .. তবে তারপরে আপনার এক্সিকিউট এবং শুরু থেকে "রান" এটির পার্থক্য করা উচিত, আপনার অর্থ কি শুরু এবং সম্পাদনা বা কেবল শুরু)? সম্ভবত-ডি মানে কোনও এক্সিকিউট শুরু করবেন না। এবং -d ছাড়াই শুরু এবং
সম্পাদন করা হয়

8

অন্যান্য উত্তরগুলির মধ্যে এটি অন্তর্ভুক্ত রয়েছে তবে আমি ভেবেছিলাম যে আমি সমতুল্য শেল কমান্ড-লাইনগুলি প্রদর্শন করব কারণ এটি সত্যই পরিষ্কার করে দিয়েছে:

$ docker run myimage

এটার মতই

$ docker start -a $(docker create myimage)

এখানে, docker createনামযুক্ত চিত্র থেকে একটি ধারক তৈরি করতে ব্যবহৃত হয় এবং তৈরি করা ধারক আইডি আউটপুট দেয় এবং docker startসেই আইডি দিয়ে ধারক শুরু করতে ব্যবহৃত হয়। -aবিকল্প টার্মিনাল তাই সংযুক্ত করতে যে ধারক ফোরগ্রাউন্ড যা ডিফল্ট আচরণ রান ঘটায় docker run

এমন একটি ধারক যা তৈরি করা হয়েছে তবে কখনও শুরু করা হয়নি তার একটি Createdস্থিতি থাকবে; এই সঙ্গে দেখা যেতে পারে docker container ls -a


7

আমি ডকারে নতুন এবং এটির সাথে খেলতে পেরেছি;

আমার গ্রহণটি হ'ল ডকার রানটি মূলত নিম্নলিখিতটি করে: (ক্রমের ভিত্তিতে ..) ডকার তৈরি , ডকার শুরু , ডকার সংযুক্তি , যেহেতু এটি আপনি 'রান' কমান্ড করার পরে অবিলম্বে সক্রিয় শেলের সাথে সংযুক্ত হয় ।


4
আমি আপনার উত্তরটি লক্ষ্য করার আগে এই সম্পর্কে উপরে একটি মন্তব্য পোস্ট করেছি। আমি আশা করি আমি এক ঘন্টা বা আরও আগে এটি দেখতে পেয়েছি।
ওয়েবপাওয়ার

-3

ডকার রান মূলত ধারকটিতে চলমান কমান্ডগুলির জন্য।

docker run -it <Container Name> /bin/bash

উপরের বাশ টার্মিনাল তৈরির জন্য। এবং আমাদের পাত্রে বাশ কমান্ড ব্যবহার করতে দিন।

ডকার তৈরি হ'ল ডকার চিত্র থেকে একটি ধারক তৈরি করা।

docker create -d /var/lib:/var/lib --name docker-ubuntu ubuntu

উপরেরটি হ'ল "উবুন্টু" চিত্র থেকে একটি ডকারকে "ডকার-উবুন্টু" নামের একটি ধারক তৈরি করতে হবে


4
আপনি docker run -it <Container name>তখন / বিন / বাশ না করে করতে পারেন । উদাহরণস্বরূপ রুবি এক আইআরবি নামক একটি এক্সিকিউটেবল অটোরান করবে। এছাড়াও, আপনি রান-ডি করতে পারেন, যা ডক্কারসাম্পলস / স্ট্যাটিক-সাইট দিয়ে লগ ইন না করে। সুতরাং আমি মনে করি এটি কার্যকর করে না তবে এটি কেবল এটি শুরু করে।
বারলপ

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