حسام اثناعشری
حسام اثناعشری
خواندن ۵ دقیقه·۴ سال پیش

داکر برای دات نت کار ها - قسمت 1 (آشنایی با دستورات اولیه)

پیش نیاز های این قسمت :

  • نصب بودن Docker CE برروی OS یا سیستم عامل خودتون
  • آشنایی با داکر ( Docker ) و کاربرد اون
برای آشنایی با داکر میتونید از دوره رایگان و سه قسمتی جادی استفاده کنین!


در این قسمت با کامندهای زیر در داکر آشنا میشین :

  • docker pull
  • docker run
  • docker ps
  • docker images
  • docker rm
  • docker rmi

کامند docker pull

این کامند، image مورد نظر شما رو از یک registry در docker hub دریافت یا بهتره بگیم pull میکنه.

زمانی که pull به اتمام برسه، image برروی دیسک شما سیو میشه و تا در آینده به اون دسترسی داشته باشین.

برای کار به صورت عملی با این کامند، ابتدا باید CLI یا همون Command Line خودمون رو باز کنیم.

کامند لاین های مختلفی وجود داره که میتونین از یکیش براساس سلایقتون استفاده کنین.
هرچند که من پیشنهادم اینه که از PowerShell استفاده کنین.

کامند docker pull microsoft/dotnet رو درون کامند لاین خودمون نوشته و اینتر رو میزنیم.

کاری که این کامند انجام میده اینه که ایمیج dotnet رو از رجیستری microsoft دریافت میکنه و برروی دیسک ما ذخیره میکنه.
خود داکر به صورت پیشفرض آخرین نسخه ایمیج رو برای ما pull میکنه.

در این مرحله باید کمی صبر کنین تا دانلود ایمیج به اتمام برسه.

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

پس از اتمام pull و دانلود، image برروی دیسک شما ذخیره میشه.

در ادامه نحوه مشاهده image های ذخیره شده برروی دیسک رو یاد خواهیم گرفت!
پس از این بابت نگرانی نداشته باشین.

کامند docker run

این کامند، یک image که از قبل برروی سیستم شما pull شده رو run یا اجرا میکنه.

اگر image مورد نظر برروی دیسک شما موجود نباشه ابتدا اون رو pull میکنه و سپس اون رو run میکنه.

کامند run چندین option داره که در مواقع خاص ازشون استفاده میکنیم :

  • Volumes : دیتای کانتینر رو برروی حافظه ذخیره میکنه تا کانتینر بعدا بتونه ازشون استفاده کنه
  • Ports : برای متصل کردن پورت های کانتینر به پورت های سیستم عامل مورد استفاده قرار میگیره
  • Environment Variables : متغیرهایی که توسط سازنده ایمیج قرار داده میشن تا امکان شخصی سازی ایمیج وجود داشته باشه

بسیار خوب، برای اجرای این کامند فقط کافیه که پس از docker run نام image مورد نظرتون رو وارد کنین.

به عنوان مثال :

docker run anotherchris/packt-helloworld

همونطور که مشاهده میکنین این image برروی دیسک (لوکال) من موجود نبوده و به همین علت ابتدا داره اون رو pull میکنه تا سپس بتونه اون رو run کنه.


کامند docker ps

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

اگر به انتهای این کامند، سوئیچ a- رو نیز اضافه کنیم، container های متوقف شده نیز نمایش داده میشن.

لیست کانتینرهایی که این کامند به ما ارائه میده شامل خصوصیات زیر هست :

  • CONTAINER ID : آیدی یونیک ( Unique ) کانتینر که میشه ازش برای stop / start یا remove کردن کانتینر مورد نظر استفاده کرد.
  • IMAGE : نام ایمیج اجرا شده
  • COMMAND : کامند اجرا شده
  • CREATED : زمان ایجاد کانتینر
  • STATUS : آخرین وضعیت کانتینر
  • PORTS : پورت های متصل شده
  • NAMES : نام کانتینر، که یونیک ( Unique ) هستش و تنها تفاوتی که با CONTAINER ID داره در اینه که یک کلمه معنی دار توسط خود داکر جنریت میشه و در اون قرار میگیره.
    البته هنگام اجرای کانتینر با استفاده از سوئیچ name-- میشه این نام رو به صورت دستی نیز قرار داد.


بنابراین برای نمایش لیست کانتینرهای درحال اجرا از کامند زیر استفاده میکنیم :

docker ps

و اگر نیاز داشته باشیم که کانتینرهای متوقف شده نیز به ما نمایش داده بشن سوئیچ a- رو به انتهای این کامند اضافه میکنیم :

docker ps -a

کامند docker images

این کامند، لیست تمامی image هایی که برروی دیسک (لوکال) ما موجود هست رو نمایش میده.

این کامند معمولا برای چک کردن اینکه یک image با موفقیت pull یا create شده استفاده میشه.

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

docker images

کامند docker rm

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

برای کار به صورت عملی با این کامند ابتدا ایمیج hello-world رو ران میکنیم و یک name به صورت دستی به اون پاس میدیم :

docker run --name my-hello-world-container hello-world

و سپس این کانتینر رو با استفاده از کامند docker rm حذف میکنیم :

docker rm my-hello-world-container

کامند docker rmi

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

برای کار به صورت عملی با این کامند ابتدا ایمیج hello-world رو pull میکنیم (در صورتی که این ایمیج از قبل برروی دیسک شما موجوده نیازی به انجام pull نیست) :

docker pull hello-world

و سپس این image رو با استفاده از کامند docker rmi حذف میکنیم :

docker rmi hello-world

اگه کامند docker images رو ران کنین میبینید که این ایمیج از لیست ایمیج های لوکال شما حذف شده.

داکر
دولوپرِ به دنبالِ سلف‌دولوپمنت!
شاید از این پست‌ها خوشتان بیاید