ارائه دهنده خدمات ابری PaaS و DBaaS

docker

برنامه‌های Docker

(Docker Apps)

استقرار اولین برنامه

نصب Liara CLI

اگر Liara CLI را نصب ندارید می‌توانید با اجرای دستور زیر آن‌ را به‌راحتی نصب کنید: توضیحات بیشتر

$ npm install -g @liara/cli

ورود به حساب کاربری

برای ورود به حساب کاربری خود به وسیله Liara CLI کافیست دستور زیر را وارد کنید و ایمیل و رمزعبوری که با آن حساب کاربری خود را ایجاد کرده‌اید را وارد نمایید:

$ liara login

اولین استقرار

گام اول) کافیست به بخش ایجاد برنامه‌ها در لیارا بروید و با انتخاب پلتفرم DOCKER و نوشتن شناسه برنامه‌ی موردنظرتان و در نهایت انتخاب پلن، برنامه خود را ایجاد کنید. برای نمونه، ما در این آموزش برای برنامه آزمایشی‌مان، شناسه docker-starter را انتخاب کردیم.

گام دوم) کافیست وارد ریشه برنامه‌ی‌تان شده و سپس دستور زیر را وارد نمایید:

$ liara deploy

Liara CLI در صورتی که یک Dockerfile در ریشه‌ی برنامه‌ی‌تان وجود داشته باشد، تشخیص خواهد داد که برنامه‌ی شما را باید به عنوان یک برنامه‌ی Docker اجرا کند و عملیات استقرار را آغاز خواهد کرد. اما اگر مشکلی در تشخیص وجود داشت، می‌توانید از دستور زیر استفاده کنید:

$ liara deploy --platform=docker

بعد از وارد کردن دستور بالا، ابتدا نام برنامه‌ای که قصد دارید استقرار روی آن انجام شود پرسیده خواهد شد. سپس، پورتی که قصد دارید آن را در معرض دید قرار دهید، پرسیده خواهد شد. این پورت معمولا برابر با همان پورت EXPOSE است.

برنامه‌ی شما در سرورهای لیارا build شده و image نهایی در registry خصوصی شما در لیارا ذخیره خواهد شد.
توجه داشته باشید که تنها پورت یک وب‌سرور با پروتکل HTTP را می‌تونید Expose کنید. برای مثال پورت یک دیتابیس قابل دسترسی از بیرون از شبکه‌ی لیارا نیست و تنها بین برنامه‌های اکانت شما در شبکه‌ی خصوصی قابل دسترسی خواهد بود.

گام سوم و پایانی) بعد از اجرای دستورات گام‌های قبلی، لیارا به برنامه شما یک زیردامنه رایگان اختصاص می‌دهد که به وسیله آن می‌توانید مطمئن شوید که برنامه‌ی‌تان به صورت صحیح به بستر لیارا منتقل شده است یا خیر. این آدرس بر اساس شناسه برنامه‌ی شما است، برای نمونه:

https://docker-starter.liara.run

استقرار Image از DockerHub

این امکان هم وجود دارد که Image ای را مستقیما از رجیستری‌های عمومی مثل DockerHub در لیارا مستقر و اجرا کنید. برای این‌کار باید از پارامتر--imageاستفاده کنید.

$ liara deploy --image wordpress:5 --app my-blog --port 80

و یا این‌که می‌توانید یک فایل به‌نامliara.jsonبا محتویات زیر بسازید و بعد از دستور liara deployاستفاده کنید:

{
  "image": "wordpress:5",
  "app": "my-blog",
  "port": 80,
  "disks": [
    {
      "name": "data",
      "mountTo": "/var/www/html"
    }
  ]
}

در لیارا به‌جای مفهوم Volume از مفهوم Disk استفاده می‌کنیم که کاربردهای آن‌ها کاملا یکسان است. در بخش‌های بعدی در رابطه با دیسک‌ها توضیحات بیشتری را ارائه می‌کنیم.

حتما برای Image هایی که مستقر می‌کنید از یک Tag مشخص استفاده کنید و سعی کنید که تا حد امکان ازlatestاستفاده نکنید. چرا که لیارا در زمان‌های مختلف Image را دوباره دانلود می‌کند که ممکن است باعث تغییر نسخه شده و سرویس‌تان دچار مشکل شود.

محدودیت‌ها

  1. استفاده از VOLUMEدر Dockerfile: فایل‌سیستم لیارا ReadOnly است و شما نمی‌تونید از دستورVOLUMEدر Dockerfile استفاده کنید و به‌جای آن باید از قابلیت «دیسک‌ها» استفاده کنید. لازم است که این عبارت را قبل از استقرار حذف کنید. چنانچه از Image‌های DockerHub هم استفاده کنید، باید نظیر به‌نظیرVOLUMEهایی که در آن Image تعریف شده، دیسک بسازید و دیسک را در همان مسیر mount کنید.
    برای مثال، Dockerfile زیر را در نظر بگیرید:
    FROM ubuntu
    
    RUN echo hello
    
    VOLUME /path/to/data
    این فایل برای این‌که بتواند در لیارا مستقر شود، باید خطی که در آنVOLUMEتعریف شده، حذف شود.
  2. استفاده از EXPOSEدر Dockerfile: لیارا از این قسمت از Dockerfile شما صرف‌نظر می‌کند. شما باید حتما پورتی که مدنظرتان است را با پارامتر--portتنظیم کنید.
  3. تنها به‌پورت‌های HTTP می‌توانید از خارج از شبکه‌ی لیارا متصل شوید. برای مثال اگر یک سرویس مانند RabbitMQ را مستقر کنید، به‌این سرویس تنها در شبکه‌ی خصوصی لیارا دسترسی خواهید داشت.

متوجه شدم، برو گام بعدی!