برنامههای 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 است.
گام سوم و پایانی) بعد از اجرای دستورات گامهای قبلی، لیارا به برنامه شما یک زیردامنه رایگان اختصاص میدهد که به وسیله آن میتوانید مطمئن شوید که برنامهیتان به صورت صحیح به بستر لیارا منتقل شده است یا خیر. این آدرس بر اساس شناسه برنامهی شما است، برای نمونه:
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 استفاده میکنیم که کاربردهای آنها کاملا یکسان است. در بخشهای بعدی در رابطه با دیسکها توضیحات بیشتری را ارائه میکنیم.
محدودیتها
- استفاده از VOLUMEدر Dockerfile: فایلسیستم لیارا ReadOnly است و شما نمیتونید از دستورVOLUMEدر Dockerfile استفاده کنید و بهجای آن باید از قابلیت «دیسکها» استفاده کنید. لازم است که این عبارت را قبل از استقرار حذف کنید. چنانچه از Imageهای DockerHub هم استفاده کنید، باید نظیر بهنظیرVOLUMEهایی که در آن Image تعریف شده، دیسک بسازید و دیسک را در همان مسیر mount کنید.
برای مثال، Dockerfile زیر را در نظر بگیرید:
این فایل برای اینکه بتواند در لیارا مستقر شود، باید خطی که در آنVOLUMEتعریف شده، حذف شود.FROM ubuntu RUN echo hello VOLUME /path/to/data
- استفاده از EXPOSEدر Dockerfile: لیارا از این قسمت از Dockerfile شما صرفنظر میکند. شما باید حتما پورتی که مدنظرتان است را با پارامتر--portتنظیم کنید.
- تنها بهپورتهای HTTP میتوانید از خارج از شبکهی لیارا متصل شوید. برای مثال اگر یک سرویس مانند RabbitMQ را مستقر کنید، بهاین سرویس تنها در شبکهی خصوصی لیارا دسترسی خواهید داشت.