پایتون با طعم فندق

فندق چیست؟فندق یک سکو برای راه‌اندازی و نگهداری سرویس‌های نرم‌افزاری است که به کابران اجازه می‌دهد به طور منعطف و مقیاس‌پذیر سرویس‌های نرم‌افزار خود را راه‌اندازی کنند و متناسب با منابعی که مصرف می‌کنند هزینه کنند.بطور خیلی خیلی ساده، فندق یک سرویس است که بدون دردسر و هزینه‌های نگهداری و راه‌اندازی سرور، پروژه‌های در قالب داکر را اجرا می‌کندداکر چیست؟داکر یک سکوی متن باز برای ساخت، طراحی و اجرای اپلیکیشن های توزیع شده استو با بیان ساده‌تر، داکر، نرم‌افزار شما را با همه وابستگی‌ها و نیازمندی‌ها در محیطی بسته و ایزوله‌ بنام کانتینر بسته‌بندی می‌کند و کانتینر شما بدون نگرانی و نیاز به هیچ وابستگی‌ای در پلتفرم‌ها و محیط‌های دیگر قابل اجراستنقشه چیست؟ با هم یک پروژه پایتونی ساده را گام به گام ابتدا داکرایز (در قالب داکر پیاده‌سازی شده) می‌کنیم و سپس برای اجرا بر روی فندق می‌فرستیم (دیپلوی می‌کنیم)آماده‌سازی برای استفاده از فندق ابتدا باید در فندق عضو شوید سپس برای ارتباط با فندق باید CLI (اپ رابط متنی) فندق را نصب کنید، نصب از طریق pip راهکار مناسبی است (شاید نیاز به دسترسی روت باشد)pip install fandogh-cliحالا با دستور زیر و با اطلاعات شناسه کاربریتان از طریق CLI وارد فندق شوید fandogh loginداکرایزدر قدم دوم و اصلی باید پروژه پایتونی را تبدیل به یک ایمیج داکر کنیم به عنوان نمونه یک ربات تلگرامی ساده با استفاده از کتابخانه python telegram bot نوشته‌ام که در پاسخ به پیام‌های متنی شما پاسخی ساده می‌دهد https://gist.github.com/mostafaasadi/66628078dc3e3da2578ed316b41ba99b این ربات به سادگی با نصب کتابخانه پیشنیاز بوسیله پایتون۳ قابل اجراست حال در همان مسیری که فایل ربات قرار دارد فایلی با نام Dockerfile بسازید این Dockerfile شیوه ساخت، اجرا و نیازمندی‌های برنامه شما برای ساخت کانتینر را به داکر معرفی می‌کندبرای پروژه‌ای با پایتون خالص (همین ربات خودمان) محتویات فایل داکر باید چنین باشدFROM python:latest COPY bot.py . RUN pip3 install python-telegram-bot --upgrade ENTRYPOINT [ "python3" ] CMD ["bot.py"] خط اول به داکر می‌گوید که تصویر پایه برای ساخت این ایمیج، ایمیج پایتون(آخرین نسخه) است خط دوم نیز فایل اصلی ربات را به کانتینر انتقال می‌دهد (شما می‌توانید متناسب نیاز فایل‌های دیگری را نیز اضافه کنید)خط سوم کتابخانه python-telegram-bot (یا هر پیشنیاز دیگر برای پروژه) را از طریق pip نصب می‌کند (البته روش‌های دیگری نیز برای این منظور هست)خط چهارم نیز شیوه شروع اجرا را مشخص می‌کندخط پنجم هم دستور اجرایی ربات را نشان می‌دهد درباره ساختار فایل داکر اینجا را بخوایند حال با انتخاب نامی برای این ایمیج خود دستور زیر در در مسیری که فایل داکر قرار دارد وارد کنید fandogh image init --name=fandoghibotتا با پیام Image created successfully مواجه شوید، سپس با دستور زیر ایمیج را بسازید (ورژن را مشخص کنید)fandogh image publish --version v1سپس ایمیج داکر شما متناسب با اطلاعات فایل داکر مرحله به مرحله ساخته و بر روی فندق فرستاده می‌شود اجرا بر روی فندقاکنون اگر تصویر بدرستی ساخته و به فندق ارسال شده باشد در داشبورد فندق شما باید موجود باشدحال باید آن را روی فندق اجرا کنیم fandogh service deploy --version v1 --name fandoghibotبا دستور بالا به فندق می‌گوییم که ورژن یک از ایمیج fandoghibot که در مرحله قبل ساخته‌ایم را در قالب یک سرویس اجرا کن پس از پاسخ موفقیت‌آمیز اجرای سرویس توسط CLI، اگر به داشبورد هم بروید، سرویس در حال اجرا قابل مشاهده استاگر ربات هم تست کنیم، پاسخ می‌دهد ?منابع و مستنداتhttps://docs.fandogh.cloud/docs/getting-started.htmlhttps://docs.docker.com/engine/reference/builder/https://stackabuse.com/dockerizing-python-applications/https://blog.fandogh.cloud/articles/how-write-docker-file.htmlhttps://blog.fandogh.cloud/articles/fandogh-introduction.html