فرآیند اجرای دستور docker run

فرآیند اجرای دستور docker run

فرایند اجرای دستور docker run

برای درک بهتر درس های قبلی که به معرفی معماری داکر و همچنین اجزای مختلف داکر پرداختیم در این بخش می خواهیم با مثال دستور docker run توضیح دهیم که چه اتفاق هایی می افتد.
دستوری که در زیر آمده است از طریق CLI به Docker Daemon دستور می دهد یک کانتینر Ubuntu راه اندازی کند و با خط فرمان (Command-Line) ماشین میزبان تعامل داشته باشد (یعنی دستورهایی را دریافت کند و اجرا کند و خروجی را نمایش دهد) و در ادامه نیز دستور bin/bash/ را که داخل کانتینر ساخته شده اجرا کند.


$ docker run -i -t ubuntu /bin/bash

وقتی دستور زیر را در CLI وارد می کنید اتفاقات زیر به ترتیب رخ می دهد. (مراحل گفته شده در زیر بافرض این است که شما از پیکربندی پیش فرض رجیستری استفاده می کنید. یعنی همان Docker Hub که قبلا توضیح داده شد.)
1- اگر روی سیستم خودتان image ای از ubuntu نداشته باشید، داکر آن را از رجیستری ای که در تنظیمات است دریافت می کند، مثل اینکه شما دستور docker pull ubuntu را زده باشید.
2- داکر یک کانتینر جدید می سازد، مثل اینکه شما دستور docker container create را زده باشد.
3- داکر به عنوان لایه ی نهایی کانتینر، یک فایل سیستم قابل خواندن و نوشتن را در اختیار کانتینر قرار می دهد.
4- از آنجایی که شما هیچ گزینه ای را برای شبکه مشخص نکرده اید، داکر یک رابط شبکه برای اتصال کانتینر به شبکه ی پیش فرض ایجاد می کند. این کار شامل اختصاص دادن IP به کانتینر هم می شود. به صورت پیش فرض، کانتینرها می توانند به شبکه های خارجی با استفاده از شبکه ی ماشین میزبانشان وصل شوند.
5- داکر، کانتینر را راه می اندازد (Start) و دستور bin/bash/ را داخل آن اجرا می کند.
به دلیل اینکه کانتینر به صورت تعاملی راه اندازی شده است و با ترمینال شما در ارتباط است (این موضوع به واسطه ی Flag های -i و -t است که در دستور قرار دارد). وقتی خروجی دستورتان در ترمینال نمایش داده شد می توانید با استفاده از کیبورد دستورهایی را به کانتینر بدهید تا اجرا کند.
6- وقتی شما برای خاتمه دادن به این ارتباط exit را تایپ کنید، کانتینر متوقف می شود ولی پاک نمی شود. شما می توانید این کانتینر را دوباره راه اندازی کنید یا پاکش کنید. که در بخش های بعدی به صورت کامل با مدیریت کانتینرها آشنا خواهید شد.

نظرات
اگر login نکردی برامون ایمیلت رو بنویس: