با نحوه پیکربندی و اتصال به پایگاه داده Microsoft SQL Server در یک ماشین لینوکس با استفاده از کانتینرهای Docker آشنا شوید.
Microsoft SQL Server یک سیستم مدیریت پایگاه داده (DBMS) قوی و پرکاربرد است. به طور سنتی، پایگاههای داده SQL Server بر روی سرورهای اختصاصی یا ماشینهای مجازی راهاندازی میشوند، اما Docker همه اینها را تغییر داده است.
بیایید نگاهی بیندازیم که چگونه میتوانید یک نمونه SQL Server را در یک ظرف لینوکس با Docker تنظیم کنید.
مزایای اجرای SQL Server در Docker
اگر شما یک مهندس نرم افزار هستید و به این فکر می کنید که آیا باید SQL Server را در Docker اجرا کنید، خوب، در اینجا برخی از مزایای Docker ارائه شده است:
- مقرون به صرفه و سبک وزن: شما نیازی به راه اندازی سرور اختصاصی یا ماشین مجازی ندارید
- راه اندازی و پیکربندی Docker نسبتاً آسان است
- شما به راحتی می توانید فرآیند استقرار و راه اندازی را با اسکریپت ها خودکار کنید
- Docker به شما امکان می دهد به راحتی محیط های یکنواخت ایجاد کنید و می توانید از همان تصویر داکر در هر سیستم عاملی از جمله macOS، Windows یا Linux استفاده کنید.
Docker یک ابزار قدرتمند است و می تواند نحوه استقرار یا ارائه سیستم های نرم افزاری خود را به شدت متحول کند.
مرحله 1: دریافت SQL Server Docker Image
برای اینکه بتوانید SQL Server را در Docker راه اندازی کنید به Docker نسخه 1.8 یا بالاتر نیاز دارید. اگر از لینوکس اوبونتو استفاده می کنید، در اینجا نحوه نصب Docker آورده شده است. سایت رسمی Docker را در مورد نحوه نصب Docker در سایر توزیعهای لینوکس بررسی کنید.
با استفاده از دستور زیر، تصویر SQL Server Docker را از مخزن رسمی Microsoft Docker خارج کنید. Docker ابتدا تصویر را در رایانه شخصی شما جستجو می کند و اگر آن را به صورت محلی پیدا نکرد، تصویر را در مخازن راه دور از طریق اینترنت جستجو می کند.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
SQL Server 2019 آخرین نسخه پشتیبانی شده از SQL Server در Docker در زمان نگارش این مقاله است.
می توانید رها کنید
سودو
اگر Docker خود را طوری پیکربندی کرده باشید که با یک کاربر غیر روت اجرا شود، از دستور بالا استفاده کنید.
مرحله 2: اجرای Docker Image
هنگامی که دانلود تصویر داکر به پایان رسید، می توانید با اجرای دستور زیر تمام تصاویر داکر را در رایانه شخصی خود فهرست یا مشاهده کنید:
sudo docker images
خروجی:
اگر تصویر SQL Server شما در لیست است، پس آماده اجرای آن هستید. اما قبل از انجام این کار، در اینجا برخی از پارامترهای دستور Docker وجود دارد که باید از آنها آگاه باشید.
توضیحات پارامترهای دستور Docker
- -e “ACCEPT_EULA=Y”: برای پذیرش شرایط قرارداد مجوز کاربر نهایی استفاده می شود
- -e “SA_PASSWORD=Adminxyz22#”: برای تنظیم رمز عبور SA تصویر داکر استفاده می شود. در این حالت پسورد روی Adminxyz22# تنظیم می شود. اطمینان حاصل کنید که از یک رمز عبور قوی استفاده می کنید که حداقل هشت کاراکتر باشد.
- -p 1433:1433: به طور پیش فرض، SQL Server روی پورت 1433 اجرا می شود. این پارامتر به سادگی می گوید: از پورت 1433 در دستگاه میزبان برای اتصال به پورت 1433 در تصویر داکر استفاده کنید.
- –name: از این گزینه برای تعیین نام برای تصویر داکر خود استفاده کنید، در غیر این صورت داکر یک نام تصادفی برای شما ایجاد می کند.
- –hostname: از این گزینه برای اختصاص نام میزبان به SQL Server خود استفاده کنید. اگر نام میزبان تصادفی را اختصاص ندهید، داکر یک نام میزبان تصادفی ایجاد می کند.
مهم است که یک نام و نام میزبان معنی دار به تصویر Docker خود اختصاص دهید زیرا این همان چیزی است که در رشته های اتصال خود برای اتصال به پایگاه داده خود استفاده خواهید کرد.
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Adminxyz22#" -p 1433:1433 --name sql1 --hostname sql1 -d mcr.microsoft.com/mssql/server:2019-latest
مرحله 3: اتصال به SQL Server از Docker Container
می توانید با استفاده از کلاینت های SQL Server مانند خط فرمان، Microsoft SQL Server Management Studio، Azure Data Studio و غیره به نمونه SQL Server در Docker متصل شوید. Azure Data Studio سبک وزن است و در macOS، Windows و Linux در دسترس است. در اینجا نحوه نصب Azure Data Studio در اوبونتو آورده شده است.
بیایید از ترمینال اوبونتو برای اتصال به SQL Server در حال اجرا در Docker استفاده کنیم. ابتدا دستور زیر را برای دسترسی به ترمینال کانتینر docker اجرا کنید:
sudo docker exec -it sql1 "bash"
هنگامی که به ترمینال تعاملی در تصویر Docker دسترسی پیدا کردید، دستور زیر را برای اتصال به SQL Server اجرا کنید:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Adminxyz22#"
نام کاربری پیش فرض برای تصویر SQL Server در Docker است
SA
همچنین به یاد داشته باشید که از رمز عبور صحیحی که به نمونه SQL Server خود اختصاص داده اید استفاده کنید.
پس از اتصال، می توانید پایگاه داده های موجود را با استفاده از دستور فهرست کنید:
SELECT Name FROM sys.Databases
سپس در اعلان بعدی GO را تایپ کنید و Enter را فشار دهید تا کوئری SQL شما اجرا شود:
اجرای مایکروسافت SQL Server بر روی یک Docker Container
ما نحوه اجرای SQL Server 2019 را در داخل یک کانتینر لینوکس در Docker بررسی کرده ایم. Docker به طور گسترده توسط بسیاری از مهندسان نرم افزار برای استقرار برنامه ها و راه اندازی محیط های پیچیده به راحتی استفاده می شود.