مینو علیمحمدی
مینو علیمحمدی
خواندن ۴ دقیقه·۴ سال پیش

چگونه ناپ‌کامرس را با داکر روی لینوکس اجرا کنیم؟




ناپ‌کامرس یک پلتفرم اپن سورس، که با فناوری ماکروسافت طراحی شده است. ناپ‌کامرس ورژن 4.20 با فریم‌ورک دات‌نت کور می‌باشد و مایل هستیم روی لینوکس اجرا کنیم. راه‌های مختلفی برای این کار وجود دارد ولی راحت‌ترین آن استفاده از داکر می‌باشد. در این مقاله می‌خواهیم یاد بگیریم به چه صورت ناپ‌کامرس را روی لینوکس با استفاده داکر اجرا کنیم؟

قبل از اینکه شروع کنیم، در مورد داکر و اجزای آن که قراره در این مقاله ازشون استفاده کنیم آشنا بشیم.

Docker

داکر یک پلت‌فرم سبک، اوپن سورس و ایمن می‌باشد. داکر راهی برای ساده‌سازی روند ساخت پروژه، جابجای و اجرای برنامه‌ها در یک محیط متفاوت است. Docker تمام وابستگی‌های یک برنامه را جمع می‌کند و آن را در یک container (ظرف) اجرا می‌کند، در یک جمله ساده، شانس استفاده از MSSQL، بدون نیاز به دانلود، نصب و مدیریت آن را بهمون می‌دهد، کافیست container را با Docker اجرا کرده و از آن استفاده کنید - به همین سادگی.

Image

از یک image برای ساخت یک container استفاده می‌شود، که دارای فایل‌های لازم برای اجرای چیزی روی سیستم عامل، که مانند ویندوز یا اوبونتو است و دارای فریم‌ورک برنامه شما، به همراه فایل‌های پایگاه داده است که از آن پشتیبانی می‌کند. بنابراین، اگر از ASP.NET، NodeJS یا Python استفاده می‌کنید، imageها دارای کد معمول هستند.

Container

ایمیج‌ (image) ها فقط تعاریفی هستند که به طور مستقیم قابل اجرا نیستند. برای اجرای image ها، ما به containers(ظرف) نیاز داریم. containerها اینستنس‌های هستند که به اجرای image با تنظیمات متفاوت مانند پورت، آدرس IP و غیره کمک می‌کنند.

Docker Compose

برای اجرای چندین کانتینر در یک نمونه استفاده می‌شود. Docker Compose یک شبکه با کانتینرهای مختلف ایجاد می‌کند، از طریق این شبکه کانتینرها می‌توانند با یکدیگر ارتباط برقرار کنند. بنابراین، اگر برنامه به کانتینرهای دیگری وابسته باشد، Docker Compose مناسب است.

می‌خواهیم برنامه nopCommerce با سرور MS SQL اجرا کنیم، پس از Docker Compose استفاده خواهیم کرد.

فرضیات
تمام دستورات موجود در این پست فرض را بر این می گذاریم که:
شما در حال اجرا لینوکس هستید
داکر روی سیستم شما نصب است

مرحله 1- از دستور Docker بدون Sudo استفاده کنید.

اجرای دستور Docker به root privileges و افزودن privilege احتیاج دارد، برای اجرای دستور باید پیشوند "sudo" را اضافه کنیم. برای سهولت کار، نام کاربری خود را به گروه Docker اضافه کنید تا هر زمان از دستور Docker استفاده می‌کنید، نیازی به پاس دادن "sudo" نباشد.

$sudo usermod -aG docker ${USER}

برای اعمال تغییرات‌، از سیستم خارج شوید و دوباره وارد سیستم شوید.

مرحله 2 - نسخه Docker را بررسی کنید.

از آنجا که Docker قبلاً روی سیستم نصب شده است، نسخه را با استفاده از دستور زیر بررسی کنید:

docker –v

نتیجه

adminvm@adminvm-VirtualBox:~$ docker -v Docker version 18.09.7, build 2d0083d

اگر نسخه بدون پیام خطا نمایش دهد، آماده هستید تا مرحله بعدی را انجام دهید.

مرحله 3 - Docker Compose را نصب کنید.

از آنجا که باید nopCommerce با کانتینر SQL Server ارتباط برقرار کند، باید Docker Compose را روی دستگاه نصب کنیم. به خاطر داشته باشید که Docker Compose باید جداگانه نصب شود. با نصب پیش فرض داکر نصب نمی‌شود.

با دستورات زیر نصب کنید:

sudo curl -L &quothttps://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)&quot  -o /usr/local/bin/docker-compose sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose sudo chmod +x /usr/bin/docker-compose

پس از آن، نسخه Docker Compose را با دستورات زیر بررسی کنید:

docker-compose -v

نتیجه

adminvm@adminvm-VirtualBox:~$ docker-compose -v docker-compose version 1.22.0, build f46880fe

مرحله 4 – فایل "docker-compose.yml"

کد nopCommerce 4.20 را بر روی دستگاه خود دانلود کنید و فایل docker-compose.yml را در فایل اصلی باز کنید.

مرحله 5 - اجرای Docker Compose

در محل فایل "docker-compose.yml" ترمینال (terminal ) را باز کنید و دستور زیر را بزنید:


با این کار ایمیج‌های مورد نیاز دانلود می‌شود، پروژه ساخته می‌شود و کانتینرها استارت می‌خورند. مدتی طول خواهد کشید - آرام بنشینید و آرام باشید!


پس از اتمام مراحل، باید صفحه زیر با لاگ‌ها مربوط را مشاهده کنید.


مرحله 6 - کانتینرهای در حال اجرا را بررسی کنید.

ترمینال دوم را باز کرده و دستور زیر را اجرا کنید. تمام کانتینرها در حال اجرا را لیست می‌کند. باید ببینید که هر دو کانتینر nopCommerce و SQL Server اکنون در حال اجرا هستند.

[docker ps]

مرحله 7 - فروشگاه nopCommerce را در یک مرورگر اجرا کنید.

یک تب در مرورگر باز کنید و لینک زیر را بزنید. صفحه نصب nopCommerce را باز می‌کند.

http://localhost:80

مرحله 8 - اتصال به دیتابیس.

نام کانتینر و رمز عبور پایگاه داده را که در فایل yml تعریف شده است، منتقل کنید.

مرحله 9 - وضعیت کانتینر را بررسی کنید.

پس از نصب، باید صفحه تنظیم مجدد اتصال را ببینید زیرا عملکرد کانتینر برنامه ما متوقف شده است.


دوباره دستور زیر را اجرا کنید تا کانتینرهای در حال اجرا را ببینید. باید ببینید که فقط یک کانتینر MSSQL در حال اجرا است.

[docker ps]


برای دریافت لیستی از تمام کانتینرها، دستور زیر را اجرا کنید.

[docker ps -a]

مرحله 10 - دوباره کانتینر وب را بالا ببرید.

برای اجرای دوباره کانتینر وب، دستور

[docker container start <container-id>]

را اجرا کنید. به راحتی می‌توانید سه کاراکتر اول شناسه کانتینر را بدهید.


با دستور زیر لیست کانتینرها در حال اجرا را دنبال کنید. باید ببینید اکنون هر دو کانتینر در حال اجرا هستند.

مرحله 11 - به پنجره مرورگر بروید و فروشگاه nopCommerce را بررسی کنید.

به localhost بروید و Refresh را بزنید. تا صفحه اصلی nopCommerce لود شود.

تبریک می‌گویم! شما اولین فروشگاه nopCommerce خود را در Linux اجرا می‌کنید !!


ممنون از همه خوانندگان.

منبع:

https://www.c-sharpcorner.com/article/how-to-run-nopcommerce-on-linux-using-docker/



ناپ کامرسداکرلینوکسnetcore
برنامه‌نویس دات‌نت هستم و با سی‌ام‌اس ناپ‌کامرس آشنایی دارم، سالهاست به صورت تخصصی توسعه‌دهنده این cms باحال هستم! در اکانتم مطالب مربوط به این cms فقط به اشتراک گذاشته می‌شه.
شاید از این پست‌ها خوشتان بیاید