Docker، یک ابزار مجازی سازی محبوب است که یک محیط عملیاتی خاص را در بالای یک سیستم عامل میزبان تکرار می‌کند. به هر یک از این محیط‌ها container گفته می‌شود. مدیریت containerها برای کار در Docker ضروری است.

یک container از یک image سیستم عامل از پیش تنظیم شده استفاده می‌نماید که برای یک کار خاص بهینه شده است. به عنوان مثال، چندین container ممکن است یک image را همزمان در یک سیستم عامل میزبان واحد اجرا کنند.

این آموزش، نحوه نمایش، توقف و راه‌اندازی Docker containerها را به شما نشان می‌دهد.

 

به منظور دنبال کردن این آموزش، به موارد زیر نیاز خواهید داشت:

  • یک سیستم عامل مبتنی بر لینوکس (البته اگر چه در ویندوز ۱۰ به بعد، می‌توانید با استفاده از قابلیت WSL نیز داکر را اجرا کنید، اما ما توصیه می‌کنیم از یک سیستم‌عامل لینوکسی برای این منظور استفاده کنید.)
  • دسترسی به یک حساب کاربری با امتیازات root یا sudo
  • یک Docker از پیش تنظیم شده با imageها

برای تهیه سرور کافیست به این صفحه مراجعه کنید: خرید سرور مجازی

 

این مطلب نیز ممکن است برای شما مفید باشد: اجرای Docker Container در پس زمینه (حالت Detached)

 

نمایش Docker Containerها

فرمت اصلی استفاده از دستور docker به شرح زیر است:

docker command [options]

برای نمایش تمام Docker containerهای در حال اجرا، موارد زیر را در پنجره ترمینال وارد نمایید:

docker ps

 

همانطور که مشاهده می‌کنید، تصویر بالا نشان می‌دهد که هیچ container در حال اجرایی وجود ندارد.

برای لیست کردن همه containerها، چه آن‌هایی که در حال اجرا هستند و چه آن‌هایی که متوقف شده‌اند، گزینه a- را اضافه نمایید:

docker ps –a

 

به منظور نمایش containerهایی با یک ID خاص، از گزینه aq (quiet)- استفاده کنید:

docker ps –aq

 

برای لیست کردن اندازه کل فایل‌های هر container، از گزینه s- (مخفف size) استفاده نمایید:

docker ps –s

به منظور نمایش آخرین containerهای ایجاد شده، از گزینه l- (مخفف latest) استفاده کنید:

docker ps –l

 

دستور ps چندین ستون از اطلاعات را ارائه می‌دهد که به شرح زیر هستند:

Container ID: یک عدد الفبایی منحصر به فرد برای هر container

Image: همان image اصلی سیستم عامل که container بر اساس آن ساخته شده است.

Command: دستور راه‌اندازی container

Created: مدت زمانی که container ایجاد شده است.

Status: درست بودن یا خراب بودن.

Ports: تمام پورت‌های ارسال شده به container برای شبکه را مشخص می‌کند.

Name: یک نام به یاد ماندنی که توسط نرم افزار Docker تعیین شده است.

توجه: این راهنما فرض می‌کند که شما قبلاً یک image موجود دارید. اگر چنین نیست، از دستور زیر استفاده نمایید:

docker pull name:tag

برای مثال، docker pull ubuntu: 14.04 را وارد کنید تا یک کپی از image اوبونتو 14.04 بگیرید.

 

این مطلب نیز ممکن است برای شما مفید باشد: نحوه نامگذاری یا تغییر نام Docker Containers

 

راه‌اندازی Docker Container

دستور اصلی برای راه‌اندازی یک یا چند Docker container متوقف شده به صورت زیر است:

docker start [options] container_id 

 

شما می‌توانید container را با استفاده از نام یا ID آن (طولانی یا کوتاه) مشخص نمایید.

برای ایجاد یک container جدید از یک image و راه‌اندازی آن، از docker run به صورت زیر استفاده کنید:

docker run [options] image [command] [argument] 

اگر برای container تازه ایجاد شده خود نامی تعریف ننمایید، daemon یک نام (رشته تصادفی) ایجاد می‌کند. برای تعریف نام container، از گزینه name- استفاده کنید:

docker run ––name=Ubuntu_Test ubuntu:14.04

دستور فوق، containerای با نام Ubuntu_test را از روی imageای با نام ubuntu:14.04 ایجاد کرده و آن را راه‌اندازی می‌نماید.

ممکن است یک container در حال کار باشد، اما شما نتوانید با آن تعامل داشته باشید. برای راه‌اندازی container در حالت تعاملی، از گزینه‌های i- و t- به صورت زیر استفاده کنید:

docker run –it ––name=Ubuntu_Test ubuntu:14.04

 

در مثال ذکر شده در بالا، سیستم، containerای با نام Test_2 را از imageای به نام ubuntu ایجاد کرده و به آن متصل می‌شود و شما را قادر می‌سازد تا دستورات را مستقیماً روی container اجرا نمایید.

به جای استفاده از گزینه‌های i- یا t- می‌توانید، از دستور attach به منظور اتصال به یک container در حال اجرا استفاده کنید:

docker attach container_id

 

این مطلب نیز ممکن است برای شما مفید باشد: لیست دستورات Docker

 

متوقف سازی Stop Docker Container

برای متوقف کردن یک container از دستور docker stop استفاده نمایید:

docker stop [option] container_id

در دستور بالا، باید container_id را با نام یا شناسه container جایگزین کنید.

به طور پیش فرض، 10 ثانیه‌ طول می‌کشد تا container متوقف شود. دستور stop به container دستور می‌دهد که سرویس‌ها را بعد از آن مدت متوقف نماید. از گزینه time-- می‌توانید به منظور تعریف این دوره مهلت برحسب ثانیه استفاده کنید:

docker stop --time=20 container_id

 

برای کشتن (kill) سریع یک docker container (بدون انتظار برای به پایان رسیدن آن مهلت)، از دستور زیر استفاده نمایید:

docker kill [option] container_id

به منظور توقف همه containerهای در حال اجرا، دستور زیر را وارد کنید:

docker stop $(docker ps –a –q)

همین دستور را می‌توان در با kill نیز به کار برد. در این صورت همه containerهای در حال اجرا بدون فرصت خروج متوقف می‌شود.

 

 

 

منبع:

phoenixnap