با معرفی داکر عصر جدیدی در مدیریت کانتینر ها و حتی مدیریت سرویس ها آغاز شد. در داکر یک دیمن مدیریت همه چیز را بر عهده دارد.
ولی سوال اینجاست آیا داکر تنها راه استفاده بهینه از کانتینر هاست؟ در این پست به پاسخ چند سوال میپردازیم. چرا از داکر استفاده کنیم؟ چرا از داکر استفاده نکنیم؟ و کی به سراغ جایگزین دیگر برویم؟
قبل از هر چیز به این میپردازیم که داکر چیه و چجوری کار میکنه.
داکر یک مرحله برای ساخت کانتینر است که در آن ما می توانیم برنامه خود را با کتابخانه ها و شرایط داخل آن کانتینر سر هم کنیم. داکر تا حدی شبیه ماشین مجازی است.
اما …
بر خلاف ماشین های مجازی که سخت افزار را به صورت مجازی در اختیار VM میگذارند، در داکر کانتینرها در حال اجراهسته سیستم عامل میزبان را به اشتراک می گذارند.
قسمت های اصلی داکر daemon و cli هستند.
Docker Daemon: یک فرایند ثابت در پس زمینه که به مدیریت/ایجاد ایمیج ها ،کانتینرها ، شبکه ها و حجم ذخیره سازی داکر کمک می کند.
Docker Engine REST API: ای پی آی مورد استفاده برنامه های کاربردی برای تعامل با داکر دیمن. می تواند توسط یک سرویس گیرنده HTTP قابل دسترسی باشد.
Docker CLI: سرویس گیرنده خط فرمان داکر برای تعامل با داکر دیمن که آن را با docker command میشناسیم.
اکنون می دانیم که داکر چگونه کار می کند ، بیایید به موضوع اصلی در مورد Podman برسیم و این که چگونه می توانیم بر اکثر مشکلات مربوط به کانتینرها غلبه کنیم.
Podman یک سرویس بدون daemon کانتینری برای توسعه، مدیریت و اجرای کانتینرهای OCI در سیستم لینوکس شماست. کانتینرها را می توان به صورت root یا در حالت rootless اجرا کرد.
پادمن مستقیماً با ایمیج رجیستری، کانتینرها و ذخیره سازی ایمیج ها تعامل دارد.
همانطور که می دانیم Docker بر روی runC runtime container ساخته شده است و از daemon استفاده می کند، به جای استفاده از daemon در Podman ، مستقیماً از runC runtime container استفاده می کند.
برای استفاده از پادمن نیازی به استارت کردن سرویس و daemon نیست.
دستورات پادمن کاملا شبیه به داکر هستند به این صورت که میتوانید یکه alias تعریف کرده و از همان دستور داکر استفاده کنید. میتوانید از ایمیج های داکر در پادمن استفاده کنید و برعکس.
برای نصب پادمن میتوانید به این لینک مراجعه کنید. برای نصب در ubuntu:
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key" | sudo apt-key add -
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install podman
به صورت پیشفرض ۲ رجیستری در پادمن وجود دارد، docker.io و quay.io. برای دفعه اول میتوانید بین این ۲ انتخاب کنید.
podman pull nginx
podman run -d -p 8080:80 nginx
مشاهده کانتینر های در حال اجرا:
podman ps
دستورات پادمن کاملا مشابه داکر است و تفاوتی ندارد. تفاوت بین این دو در نحوه اجرای کانتینر هاست. برای اجرای کانتینر های پادمن نیاز به دسترسی روت نیست. هر چند میتوان کانتینر را با root نیز اجرا نمود.
دیدگاهتان را بنویسید