হিসাবে বর্ণিত docker-compose run
(2015)
রান দ্বারা পরিচালিত কমান্ডটি পরিষেবা কনফিগারেশনে সংজ্ঞায়িত কমান্ডকে ওভাররাইড করে ।
উদাহরণস্বরূপ, যদি ওয়েব পরিষেবা কনফিগারেশনটি শুরু হয় bash
তবে docker-compose run web python app.py
এটিকে ওভাররাইড করে python app.py
।
দ্বিতীয় পার্থক্য হ'ল docker-compose run
কমান্ডটি পরিষেবা কনফিগারেশনে উল্লিখিত কোনও পোর্ট তৈরি করে না ।
এটি ইতিমধ্যে খোলা বন্দরের সাথে বন্দরের সংঘর্ষকে বাধা দেয়। আপনি যদি পরিষেবাটির বন্দরগুলি হোস্টের জন্য তৈরি এবং ম্যাপ করতে চান তবে - সার্ভিস-পোর্ট ফ্ল্যাগটি নির্দিষ্ট করুন:
$ docker-compose run --service-ports web python manage.py shell
সুতরাং যদি না আপনার সেই নির্দিষ্ট প্রয়োজন (কমান্ডকে ওভাররাইড করা বা বিভিন্ন পোর্টে কেবল একটি ধারক চালানো) না হয়, docker-compose up
(এমনকি একটি ধারক হিসাবেও) যথেষ্ট।
আপনি কেন বা কখন বন্দরগুলি তৈরি করতে চান না তা ব্যাখ্যা করতে সহায়তা করতে পারেন? সে কারণেই বা যখন তারা ইতিমধ্যে উন্মুক্ত বন্দরগুলির সাথে বিরোধ করতে পারে
কেবল কারণ docker-compose run
আপনার পরিষেবাগুলির জন্য ওয়ান-অফ কমান্ড চালানোর জন্য তৈরি।
এর অর্থ হ'ল, যদি আপনি ইতিমধ্যে একটি করে থাকেন তবে আপনার docker-compose up
সমস্ত ধারক ইতিমধ্যে তাদের নির্দিষ্ট পোর্টগুলিতে চলছে docker-compose.yml
। এই পর্যায়ে
একটি docker-compose run
করা (এক-অফ কমান্ড কার্যকর করতে), যদি এটি একই বন্দরটির প্রতি শ্রদ্ধা জানায় তবে তা অবিলম্বে ব্যর্থ হবে। সুতরাং এই বন্দরগুলির ডিফল্ট অ-নির্মাণ creation
আর একটি ব্যবহারের কেস ( রচনা পরিবেশের পরিবর্তনশীল রেফারেন্সে ):
কোন পরিবেশে পরিবেশের ভেরিয়েবলগুলি উপলব্ধ তা দেখতে রান করুন docker-compose run SERVICE env
।
এই আদেশগুলির সর্বাধিক সাম্প্রতিক (2019+) সংস্করণ চালু রয়েছে docker/docker.github.io
:
docker-compose run
চলমান পরিষেবার বিরুদ্ধে কমান্ডগুলি কার্যকর করতে এবংdocker-compose up
একটি নতুন পরিষেবা উত্সাহিত করতে ব্যবহার করুন।