توسعه دهندگان و مهندسان نرم افزار به طور گسترده از داکر (Docker) برای توسعه، تست و کنترل نرم افزارهای خود استفاده میکنند. این پلتفرم متنباز به توسعه دهندگان نرم افزار اجازه میدهد تا کانتینرهای قابلحمل ایجاد کنند، که باعث میشوند همکاری با دیگران از راه دور تسهیل شود. اگر تازه با Docker آشنا شدهاید، یادگیری همه دستورات داکر ممکن است در ابتدا دشوار به نظر برسد. فراوانی داکیومنتهای داکر میتواند گیجکننده باشد. با این حال، برخی از دستورات داکر وجود دارند که بیشتر از دستورات دیگر استفاده میشوند. در این مطلب، با این دستورات آشنا میشویم.
داکر چیست؟
قبل از اینکه به رایجترین و ضروریترین دستورات داکر بپردازیم، ابتدا لازم است که توضیح دهیم داکر چیست؟ داکر یک پلتفرم متنباز و رایگان است که به توسعه دهندگان اجازه میدهد کانتینرها را در فضای ابری یا روی سرورها ایجاد، مدیریت و اجرا کنند. به عبارت سادهتر، برای ساخت، استقرار و مدیریت برنامههای کاربردی به صورت کانتینریشده استفاده میشود.
داکر با استفاده از کانتینرها، برنامهها را به همراه تمام وابستگیهایشان مانند کتابخانهها، ابزارها و تنظیمات در یک بسته واحد و قابلحمل جمعآوری میکند. این کار باعث میشود که برنامهها به طور قابل پیشبینی و سازگار در هر محیطی اجرا شوند. Docker دارای دستورات متعددی برای مدیریت ایمیجها، کانتینرها، شبکهها و سایر اجزای آن است. داکر به عنوان یک محصول PaaS (پلتفرم به عنوان سرویس یا Platform as a Service) شناخته میشود که به توسعه دهندگان اجازه میدهد برای اجرای نرم افزار در کانتینرها، از امکان مجازی سازی استفاده کنند.
داکر باعث میشود توسعه دهندگان از منابع سیستم به شکل بهینهتری استفاده کنند، زیرا برنامههای کانتینر سازی شده معمولا نسبت به ماشینهای مجازی حافظه کمتری مصرف میکنند. با استفاده از Docker، دیگر نیاز نیست نگران وابستگیهای برنامه یا محیط اجرا باشید، زیرا تمام چیزهایی که برنامه برای اجرا نیاز دارد در داخل کانتینر قرار میگیرد و این باعث قابلحمل شدن برنامهها میشود.
برای اجرای آسان یک کانتینر داکر، فقط به یک سرویس میزبانی مناسب مانند یک سرور اختصاصی یا یک vps (برای مثال سرور مجازی آلمان) نیاز دارید. اکنون که با اصول اولیه آشنا شدید، بیایید با ۲۰ مورد از دستورات Docker آشنا شویم.
۲۰ مورد از دستورات داکر
ضروریترین دستورات Docker که پس از نصب داکر روی سرور مجازی خود، میتوانید آنها را اجرا کنید عبارت هستند از:
- Docker run
- Docker search
- Docker stop
- Docker rename
- Docker restart
- Docker pause or unpause
- Docker kill
- Docker pull
- Docker ps
- Docker login
- Docker commit
- Docker exec
- Docker rmi
- Docker cp
- Docker logs
- Docker info
- Docker logout
- Docker inspect
- Docker history
- Docker push
در ادامه این مقاله هر یک از این دستورات داکر و عملکردهای آنها توضیح میدهیم.
۱. Docker run
اولین مورد از دستورات داکر که قصد داریم معرفی کنیم، docker run است. دستور docker run برای ایجاد و راهاندازی کانتینرها استفاده میشود. هنگام اجرای این فرمان، ابتدا به دنبال ایمیجی از کانتینر مورد نظر میگردد. اگر ایمیج مورد نظر را پیدا نکند، یک ایمیج جدید ساخته و سپس کانتینر را با آن ایمیج راهاندازی میکند.
Docker run[OPTIONS] IMAGE [COMMAND] [ARG...]
به عنوان مثال، میتوانید یک کانتینر Nginx را از مخزن داکر به این صورت اجرا کنید:
docker run —-name nginx-root -p 8080:80 -d nginx
-d به این معنی است که کانتینر در پسزمینه به صورت جداگانه اجرا شود. در حالی که میتوانید فلگ name را سفارشی کنید و درگاه کانتینر را به یک درگاه روی سیستم میزبان متصل کنید.
۲. Docker search
یکی دیگر از دستورات Docker که کاربردهای زیادی دارد Docker search است. با استفاده از این فرمان میتوانید تصاویر مختلفی را در هاب اصلی داکر جستجو کنید. این فرمان اطلاعاتی در مورد تصویر مانند نام، توضیحات و سایر مشخصات را به شما نمایش میدهد.
مثال:
docker search nginx
۳. Docker stop
این دستور برای توقف کانتینرهایی که در حال اجرا هستند استفاده میشود. البته، شاید با دستور docker kill اشتباه گرفته شود، عملکرد آن کاملا با این دستور متفاوت است. برخلاف دستور docker kill، این دستور به کانتینر اجازه میدهد تا قبل از اینکه به طور کامل متوقف شود، فرآیندهای خود را به درستی خاتمه دهد. docker kill هم یکی از دستورات داکر مهم است که در ادامه آن را معرفی میکنیم. برای آگاهی از نحوه استفاده از دستور docker stop به مثال زیر توجه کنید:
docker stop [container name or ID]
۴. Docker rename
همانطور که اسم این دستور هم نشان میدهد، عملکرد آن کاملا واضح است. اگر میخواهید نام یک کانتینر را تغییر دهید، میتوانید از این دستور استفاده کنید. سینتکس این دستور به شکل زیر است:
docker rename [current_name] [new_name]
۵. Docker restart
اگر یک کانتینر را متوقف کردید، با استفاده از این دستور میتوانید آن را دوباره راهاندازی کنید. سینتکس این دستور به شرح زیر است:
docker restart [container name]
۶. Docker pause or unpause
مورد بعدی در دستورات داکر Docker pause or unpause است. این دستور شما را قادر میکند تا تمام فرآیندهای در حال اجرا در یک کانتینر را متوقف یا معلق کنید. نحوه استفاده از این دستور به شرح زیر است:
docker pause [container name]
همچنین میتوانید با استفاده از دستور unpause کانتینرهای متوقف شده را دوباره فعال کنید:
docker unpause [container name]
۷. Docker kill
مورد بعدی درمورد دستورات Docker این است که با استفاده از دستور docker kill میتوانید سیگنال “KILL” را به یک کانتینر ارسال کنید. این دستور سیگنال SIGKILL را بدون ارسال درخواست خاتمه ارسال میکند. به این ترتیب، میتوانید یک کانتینر را به طور ناگهانی و بدون هیچ گونه اخطاری متوقف کنید. این کار با ارسال سیگنال SIGKILL به کانتینر انجام میشود.
به طور کلی، این دستور برای شرایط اضطراری مناسب است. به همین دلیل، توصیه میشود قبل از استفاده از این دستور، از دستور docker stop استفاده کنید که پیش از این، به عنوان یکی از مهمترین دستورات داکر آن را معرفی کردیم. سینتکس دستور docker kill به شکل زیر است:
docker kill [container name]
۸. Docker pull
با استفاده از دستور docker pull میتوانید یک تصویر را از هاب داکر دریافت کنید. برای استفاده از این دستور به شکل زیر عمل کنید:
docker pull [container name]
علاوه بر اسم، میتوانید از تگ هم برای دانلود تصاویر استفاده کنید. برای مثال، با استفاده از دستور -all-tags میتوانید تمام تصاویر یک مخزن را به طور همزمان دانلود کنید.
۹. Docker ps
برای لیست کردن تمام کانتینرهایی که در پسزمینه در حال اجرا هستند، میتوانید به شکل زیر از این دستور استفاده کنید.
docker ps—-all
۱۰. Docker login
برای ورود به Docker Hub میتوانید از این دستور استفاده کنید. توجه داشته باشید هنگام استفاده از این نوع از دستور داکر باید اطلاعات حساب کاربری خود شامل نام کاربری و رمز عبور را در Docker Hub وارد کنید.
docker login
۱۱. Docker commit
این دستور به شما امکان میدهد تا از یک کانتینر عکس بگیرید و آن را به عنوان فایل ذخیره کنید. همچنین، میتوانید از این دستور برای ایجاد یک کانتینر جدید از یک تصویر موجود در سیستم خود استفاده کنید.
docker commit [container name]
۱۲. Docker exec
با استفاده از این نوع دستورات Docker میتوانید دستورات جدیدی را در یک کانتینر در حال اجرا باز کنید.
docker run --name ubuntu_1 --rm -i -t ubuntu bash
این دستور یک کانتینر جدید با نام ubuntu_1 ایجاد و یک Bash session در آن اجرا میکند.
۱۳. Docker rmi
اگر میخواهید تصویری را پاک کنید تا فضای خالی بیشتری در سیستم خود به دست بیاورید، میتوانید از این دستور استفاده کنید. فقط کافی است شناسه تصویر را وارد و دستور را اجرا کنید.
docker rmi [add image ID]
۱۴. Docker cp
این مورد از دستورات داکر برای کپی کردن فایلها و پوشهها از کانتینر به سیستم میزبان و بالعکس استفاده میشود. با استفاده از این دستور میتوانید فایلها و پوشهها را بین کانتینر و سیستم خود جابجا کنید.
docker cp test-container:/1/2/random.conf ./test
این دستور، فایل random.conf را از داخل کانتینر test-container کپی میکند و آن را در پوشه test قرار میدهد. به طور ایدهآل، پوشه test باید در همان دایرکتوریای که دستور را اجرا میکنید، وجود داشته باشد.
۱۵. Docker logs
اگر میخواهید عملکرد همه کانتینرهای داکر خود را بررسی کنید، میتوانید از این نوع از دستورات Docker استفاده کنید. این ویژگی به خصوص زمانی که میخواهید خطاها را پیدا و آنها را رفع کنید، بسیار کاربردی و مفید است. برای انجام این کار طبق سینتکس زیر عمل کنید:
docker logs [container name or ID]
۱۶. Docker info
این یک دستور نسبتا ساده است که اطلاعاتی در مورد localhost، یا سیستمی که داکر روی آن اجرا شده، نمایش میدهد. همانطور که در بخش زیر هم میتوانید مشاهده کنید، سینتکس این دستور بسیار راحت است:
docker info
۱۷. Docker logout
همانطور که از اسم این مورد از دستورات داکر هم میتوان حدس زد، با استفاده از آن میتوانید از حساب کاربری خود در داکر هاب خارج شوید.
docker logout
۱۸. Docker inspect
برای مشاهده اطلاعات پایهای و ساده تصاویر و کانتینرها مثل چکسام، لایهها یا آدرس IP کانتینر، میتوانید از این دستور استفاده کنید. سینتکس این دسته از دستورات داکر به شکل زیر است:
docker inspect [image name]
۱۹. Docker history
اگر میخواهید تاریخچه یا روند ساخت هر ایمیج موجود در سیستم داکر خود را بررسی کنید، میتوانید از این دستور استفاده کنید تا به تمام اطلاعات مورد نیاز خود دسترسی پیدا کنید. این دستور به شما کمک میکند تا ببینید چه تغییراتی در ایمیج ایجاد شده و چه کامیتهایی برای آن انجام شده است. میتوانید از جدیدترین کامیت شروع کنید و به سمت کامیتهای قدیمیتر بروید. سینتکس این دستور را میتوانید در بخش زیر مشاهده کنید:
docker history [container name]
۲۰. Docker push
برای آپلود یک ایمیج داکر به یک مخزن خاص یا داکر هاب میتوانید از این دستور استفاده کنید.
docker push [image ID]
جمع بندی
داکر ابزاری قدرتمند برای مجازیسازی و استقرار برنامهها است که با استفاده از دستورات مختلف میتوان از آن استفاده کرد. در این مقاله، نحوه استفاده از برخی دستورات داکر برای کار با تصاویر، کانتینرها، شبکهها و مخازن را بررسی کردیم. با استفاده از دستورات Docker میتوانید برنامههای خود را در هر محیطی اجرا کنید. داکر به شما کمک میکند تا فرآیند توسعه و استقرار برنامهها را سادهتر و کارآمدتر کنید. در این مقاله، سعی شد تا با ارائه مثالهای عملی، استفاده از دستورات داکر را به طور واضح و گویا آموزش دهیم. امیدواریم این مقاله برای شما مفید بوده باشد.