وقتی کار کردن با داکر را شروع کردم، فهمیدن همه چیز واقعاً دشوار بود. داکر یک ابزار بسیار شگفتانگیز است که نمیتوانید آن را نادیده بگیرید. من در این مقاله تمام مسائل مهمی که باید در مورد داکر بدانید را جمعآوری کردهام. سعی میکنم داکر را بسیار ساده و مختصر به شما توضیح دهم.
در این مقاله با مفاهیم، کانتینرها و غیره آشنا خواهیم شد. سپس «Dockerfile» خودمان را مینویسیم تا یک اپلیکیشن پایتون ساده را کانتینر کنیم.
داکر چیست؟
داکر روشی برای کانتینر کردن اپلیکیشنهاست. یعنی ما کدها را در باکسهایی قرار میدهیم و همان کدها به طور خود مختار کار خواهند کرد. با این کار یک کامپیوتر مجازی میسازیم اما آنها واقعاً مجازی نیستند. کانتینرها باکسهایی هستند که سیستم عامل میزبان ندارند. به همین خاطر از دستگاهی که روی آن اجرا میشوند مستقل خواهند بود.
بگذارید این موضوع را با یک مثال توضیح دهم. فرض کنید یک زنبور وجود دارد که فقط میخواهد در کندوی خودش زندگی کند. اگر این زنبور را در کندوی دیگری قرار دهیم، کار نخواهد کرد. حال شما آن زنبور را گرفته و در جعبهای میگذاریدکه دقیقاً مانند کندوی اوست. این کار همان کانتینر کردن است.
Docker Images
Docker Images حکم الگو را دارد و شامل مجموعهای از دستورالعملها برای ساخت یک کانتینر است. اما چگونه باید این Imageها را بسازیم تا از آنها برای ایجاد کانتینر استفاده کنیم؟ برای انجام این کار به داکرفایل نیاز خواهیم داشت.
همه چیز در مورد Dockerfile
داکرفایل یک مستند متنی بوده که شامل تمام دستورات است. کاربر میتواند این دستورات را در خط فرمان برای اسمبل کردن یک Image فراخوانی کند. حالا بیایید با هم یک داکرفایل بسازیم.
ما میخواهیم یک اپلیکیشن فلسک (flask) را نوشته و آن را کانتینر کنیم. در تصویر زیر میتوانید یک اپلیکیشن فلسک بسیار ساده را مشاهده کنید.
شاید این برنامه در نگاه اول خیلی ساده به نظر برسد اما برای اجرا شدن به چیزهای زیادی نیاز دارد:
- پایتون 9.3
- فلسک
- قرار گرفتن در معرض پورت 5000
برخی از اپلیکیشنها نیز تنها بر روی سیستم عاملهای خاصی اجرا میشوند. مثلاً برنامههایی وجود دارد که تنها مختص ویندوز یا لینوکس است.
تمام این مشکلات با نوشتن یک داکرفایل ساده برطرف خواهد شد. بنابراین باید فایلی به نام Dockerfile بسازید. این فایل نباید هیچگونه پسوندی داشته باشد. در پایین میتوانید راهنمای ساختن آن را مشاهده کنید:
- از FROM برای استفاده از image پایه پایتون استفاده کنید
- از COPY برای کپی کردن فایل app.py در کانتینر استفاده کنید
- از RUN برای نصب flask استفاده کنید
- با شروع کانتینر از CMD برای اجرای «python app.py» استفاده کنید
ساختن Image و کانتینر اجرایی
حالا با استفاده از دستور «docker build»، Image را بسازید و سپس آن را با استفاده از دستور «docker run .» اجرا کنید. برای نامگذاری Image از دستور «--name» استفاده کنید تا بعداً بتوانید آن را آسانتر اجرا کنید.
docker build --tag flask .
docker run --name flask -p 5000:5000 flask
در اینجا «--name» نام کانتینری است که باید اجرا شود. من اسم آن کانتینر را flask گذاشتم. پورت داکر CONTAINER با کمک –p بر روی دستگاه شما تنظیم میشود. با این کار میتوانید برنامه خود را روی لوکالهاست (localhost) مشاهده کنید. در نهایت flask نام Image اجرایی خواهد بود.
سایر دستورات
- از دستور «docker ps» برای دریافت لیستی از کانتینرهای اجرایی استفاده کنید
- از دستور «docker ps –a» برای دریافت لیستی از تمام کانتینرها استفاده کنید
- از دستور «docker images» برای دریافت لیستی از imageها استفاده کنید
- از دستور «docker --help» برای دریافت لیست تمام دستورات استفاده کنید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید