دستورات عمومی داکر

دستورات عمومی داکر

cli commands

در این پست قصد معرفی دستورات عمومی داکر رو دارم تا هم برای خود من و هم برای عموم به راحتی قابل دسترس باشه. در مورد داکر هم میتونم اینو بگم که یه نوع شبیه ساز هست مثل Vmware ولی نه دقیقا مثل اون. اینطور که داخل Vmware لازم هست تا کل سیستم عامل رو نصب کنید ولی داکر تنها بخش های مورد نیاز سیستم رو نصب میکنه و از کرنل اصلی سیستم عامل موجود روی هاست استفاده میکنه و اکثرا هم استفاده از لینوکس توصیه میشه.

 

اجرای یک container از روی یک image

docker run mysql

ابتدا ایمیج های ذخیره شده روی لوکال رو چک میکند و اکر روی لوکال وجود نداشته باشد از روی Docker hub شروع به دانلود ایمیج میکند(به اصطلاح pull down میکند)

کانتینر تنها تا زمانی در حال اجرا میماند که پردازشی در حال انجام باشد و اگر پردازش به اتمام برسد، اجرای کانتینر متوقف میشود.

 

ساختن image

docker build -t {TAG} .

توجه : نقطه آخر موجود روی دستور اشاره بر دایرکتوری کنونی دارد، به همین دلیل در دایرکتوری کنونی باید یک Dockerfile وجود داشته باشد تا image از روی آن ساخته شود.

 

نمایش کانتینر های در حال اجرا به همراه اطلاعات عمومی

docker ps

هر کانتینر به همراه یک ID رندوم و یکتا ایجاد میشود.

برای نمایش تمامی کانتینر ها به همراه وضعیت اجرای آنها، کافی هست دستور زیر را اجرا کنید :

docker ps -a

 

نمایش اطلاعات کانتینر درحال اجرا

docker inspect {NAME}

 

نمایش لاگ های کانتینر درحال اجرا (حالت detached)

docker logs {NAME}

 

متوقف کردن کانتینر با استفاده از نام آن

docker stop {NAME}

همچنین میتوانید از ID کانتینر نیز استفاده کنید.

 

حذف دائمی کانتینر متوقف شده

docker rm {NAME}

اگر نام وارد شده در خروجی پرینت شد، پس اعمال شده است.

 

نمایش لیست image های موجود روی لوکال

docker images

 

 

حذف image برای مثال msql

docker rmi mysql

فقط توجه کنید که نباید کانتینری از این ایمیج در حال اجرا باشد!

باید تمام کانتینر های وابسته را متوفق و حذف کنید.

 

طریقه دریافت image بدون دانلود کانتینر

docker pull mysql

 

اجرای دستور داخل کانتینر در حال اجرا

docker exec mysql cat /etc/hosts

برای متصل شدن به Shell کانتینر موردنظر میتوانید از کد زیر استفاده کنید:

docker exec mysql sh

 

نکته:

برای مثال فرض کنید از یک کانتینری استفاده میکنید که یک سرور مجازی ران میکند و با اجرای دستور run کل ترمینال مشغول نمایش لاگ این کانتینر میشود.

برای اجرای این کانتینر در پس زمینه یا به اصطلاح background میتوانید از دستور زیر استفاده کنید:

docker run -d mysql

 

در این حالت به عنوان خروجی دستور یک Hash به شما نمایش داده میشود.

برای متصل شدن (attach) به لاگ های قبلی کانتینر می توانید از این Hash استفاده کنید. توجه کنید که نوشتن تنها 5 یا 6 کاراکتر اولیه Hash کافی هست.( در صورت نداشتن تداخل با Hash های دیگر)

docker attach a043d

 

Flags

Flag Description example
-i interactive  
-it interactive terminal  
-p port mapping -p 80:8000
-v volume mapping -v /project/:/var/www/html
-e set enviroment variables -e APP_NAME=TestApp
-H connect to remote docker engine -H=remote-docker-engine:2375

تگ ها : devops docker reference


نویسنده : سینا | 1399-11-14

نظرات

برای ارسال نظر باید حساب کاربری داشته باشی!

نظری ثبت نشده است.