এর জেএসএন সিনট্যাক্স CMD
(এবং RUN
এবং ENTRYPOINT
) কার্নেলের আর্গুমেন্টগুলি সরাসরি একটি হিসাবে পাস করুন এক্সেক সিস্কেল. স্পেস দ্বারা আর্গুমেন্টগুলি থেকে কমান্ডের কোনও পৃথককরণ নেই, উদ্ধৃতি থেকে পালিয়ে যাওয়া, আইও পুনঃনির্দেশ, পরিবর্তনশীল প্রতিস্থাপন, কমান্ডের মধ্যে পাইপিং, একাধিক কমান্ড চালানো ইত্যাদি এক্সেক সিসকলে সিস্কেল শুধুমাত্র চালানো এক্সিকিউটেবল লাগে এবং আর্গুমেন্ট তালিকা যে এক্সিকিউটেবল পাস, এবং এটি রান.
মত অক্ষর $
ভেরিয়েবল প্রসারিত করতে, ;
কমান্ড পৃথক করতে,
(স্থান) আর্গুমেন্ট পৃথক করতে, &&
এবং ||
চেইন কমান্ড, >
আউটপুট পুনঃনির্দেশ জন্য, |
কমান্ড ইত্যাদির মধ্যে পাইপ করা শেলের সমস্ত বৈশিষ্ট্য এবং এর মতো কিছু প্রয়োজন /bin/sh
অথবা /bin/bash
ব্যাখ্যা এবং তাদের বাস্তবায়ন.
আপনি যদি এর স্ট্রিং সিনট্যাক্সে স্যুইচ করেন CMD
, ডকার শেল দিয়ে আপনার কমান্ডটি চালাবে:
CMD /etc/init.d/nullmailer start ; /usr/sbin/php5-fpm
অন্যথায়, আপনার দ্বিতীয় সিনট্যাক্সটি ঠিক একই কাজ করে:
CMD ["sh", "-c", "/etc/init.d/nullmailer start ; /usr/sbin/php5-fpm"]
আপনার প্রথম কমান্ড ব্যর্থ হলে হ্যান্ডলিং কোন ত্রুটি আছে, যেহেতু আমি একাধিক কমান্ড একটি ধারক ভিতরে এই ভাবে চলমান সুপারিশ না উল্লেখ্য, এটা পটভূমিতে সঞ্চালিত হয়, বিশেষ করে যদি. আপনি একটি শেল পিআইডি হিসাবে চলমান ছেড়ে 1 ধারক যা সংকেত হ্যান্ডলিং বিরতি হবে ভিতরে, একটি ফলে 10 ডকার দ্বারা দ্বিতীয় বিলম্ব এবং আপনার ধারক অকৃতজ্ঞ হত্যা. শেল ব্যবহার করে সিগন্যাল হ্যান্ডলিং হ্রাস করা যেতে পারে exec
কমান্ড:
CMD /etc/init.d/nullmailer start ; exec /usr/sbin/php5-fpm
কিন্তু, হ্যান্ডলিং প্রসেস চুপটি পটভূমিতে ব্যর্থ আপনি সুপারভাইজার মত মাল্টি প্রসেস ম্যানেজার কিছু সুইচ প্রয়োজন, অথবা বিশেষ একাধিক পাত্রে আপনার আবেদন সাময়িক বিরতি এবং ডকার-রচনা মত কিছু সঙ্গে তাদের স্থাপন.