آموزش نصب PostgreSQL Docker در سه مرحله ساده
برویم به سراغ یک آموزش چالشی درمورد نصب PostgreSQL در Docker. پس با ما همراه باشید.
یکی از مهمترین مراحل چرخه حیات توسعه نرم افزار (SDLC)، پردازش داده است که شامل اقداماتی مانند پیوستن داده ها، پاکسازی داده ها، فیلتر کردن داده ها و موارد دیگر است. معمولاً توسعه دهندگان از برنامه های مدیریت پایگاه داده مانند MySQL و PostgreSQL برای اجرای عملیات پردازش داده استفاده می کنند. علاوه بر این، در حین توسعه چنین برنامه هایی، توسعه دهندگان با چندین نرم افزار موقت کار می کنند که در مراحل مختلف SDLC خود به کار می برند.
برای اجرای برنامه ها و فرآیندهای مختلف، توسعه دهندگان از Docker به عنوان پلتفرم کانتینرسازی استفاده می کنند. این کار نیاز به نصب و اجرای برنامه ها در محیط های مختلف را حذف می کند. توسعه دهندگان می توانند عملیات پردازش داده را با استفاده از هر سیستم مدیریت پایگاه داده (DBMS) مانند PostgreSQL با کشیدن فایل های Docker Image خود از Docker Hub انجام دهند.
در این مقاله قرار است با فرآیند نصب محیط Docker PostgreSQL آشنا شوید و همچنین نحوه نصب، پیکربندی و اجرای PostgreSQL در Docker را در 3 مرحله ساده به شما آموزش می دهیم.
پیش نیازهای نصب محیط Docker PostgreSQL
پیش از همه باید درک کاملی از عملیات پردازش داده و سیستم های مدیریت پایگاه داده (DBMS) مانند PostgreSQL داشته باشید.
PostgreSQL چیست؟
PostgreSQL که در اواخر دهه 1980 توسعه یافت، یک سیستم مدیریت دیتابیس رابطهای منبع باز (RDBMS) با بیش از 30 سال سابقه، همراه با توسعه مداوم است. اگرچه PostgreSQL دارای ویژگی های شی گرا برای مدیریت داده های بدون ساختار است، اما به طور گسترده به عنوان یک پایگاه داده رابطه ای استفاده می شود.
PostgreSQL از SQL و JSON برای پیاده سازی کوئری های رابطه ای و غیر رابطه ای بر روی داده های موجود در دیتابیس، پشتیبانی می کند. به عبارت دیگر با PostgreSQL، می توانید دستورات SQL را برای پردازش داده های موجود در جداول متعلق به سرورهای پایگاه داده مربوطه بنویسید.
دیتابیس PostgreSQL به دلیل ویژگی ها و قابلیت های گستردهاش، رتبه چهارم را در میان محبوب ترین پایگاه های داده در سراسر جهان دارد.
داکر (Docker) چیست؟
Docker که توسط Solomon Hykes در سال 2013 توسعه یافت، یک ابزار نرم افزار منبع باز است که به شما امکان می دهد تا به سرعت برنامه ها را بسازید و همچنین آن ها را آزمایش، مدیریت و نصب کنید.
داکر دارای چندین کانتینر است که شامل تمام بسته های اجرایی و وابستگی های مورد نیاز برای اجرای یک برنامه است. کانتینرهای داکر با استفاده از Docker Images ساخته می شوند، قالبی که شامل تمام پارامترها و دستورالعمل های مورد نیاز برای اجرای یک برنامه خاص است.
شما می توانید با ثبت نام در یک مخزن ابری آنلاین به نام Docker Hub به کانتینرهای مختلف Docker دسترسی داشته باشید. از داکر هاب، می توانید به راحتی کانتینرهای داکر از پیش پیکربندی شده مانند کانتینر Docker PostgreSQL را دانلود کنید تا برنامه های خاصی را بر اساس نیازهای خود اجرا کنید.
اگر توسعه دهنده نرم افزار هستید، می توانید برنامه های کاربردی خود را در قالب Image Docker بارگذاری و به اشتراک بگذارید که می تواند توسط سایر کاربران داکر برای امتحان و اجرای برنامه شما استفاده شود.
3 مرحله برای راه اندازی و نصب محیط Docker PostgreSQL
در بخش های زیر، در یک فرآیند گام به گام نصب، راه اندازی و اجرای محیط Docker PostgreSQL را به شما آموزش می دهیم.
مرحله 1: Docker را دانلود و نصب کنید.
قبل از شروع فرآیند نصب برنامه برای Docker PostgreSQL Environment، باید Docker را بر روی کامپیوتر خود دانلود و نصب کنید. برای دانلود به وب سایت رسمی داکر مراجعه کنید. در صفحه اصلی وب سایت داکر، روی گزینه “Get-Started” کلیک کنید. سپس به صفحه دانلود هدایت می شوید، جایی که می توانید نسخه Docker را مطابق با مشخصات سیستم عامل خود دانلود کنید.
برای شروع فرآیند دانلود، گزینه مورد نظر را انتخاب کنید. پس از دانلود فایل راه اندازی Docker، با دنبال کردن مراحل نصب، آن را بر روی سیستم خود نصب کنید.
سپس، می توانید در Docker Hub عضو شوید، از آنجا می توانید به فایل های Docker Image دسترسی داشته باشید. این کار برای اجرای برنامه های خارجی مانند PostgreSQL استفاده می شود.
مرحله 2: Docker PostgreSQL Image را دانلود کنید.
دو راه مختلف برای دانلود Docker PostgreSQL Image وجود دارد که به شما امکان می دهد PostgreSQL را در داکر راه اندازی کنید. یک روش، دسترسی مستقیم به آن از طریق وب سایت Docker Hub است.
روش دیگر این است که Image Docker PostgreSQL را از ابزارهای پیش فرض Command Line Interface (CLI) مانند Command Prompt یا Power Shell بیرون بکشید و نصب کنید.
اگر هر کدام از روش های زیر را انتخاب کردید:
- برای دانلود Image Docker PostgreSQL، با استفاده از حساب کاربری که قبلا ایجاد کردهاید، به Docker Hub بروید.
- در صفحه اصلی، میتوانید در نوار جستجو در بالای صفحه سرچ کنید. برای دریافت Docker Image برنامه مربوطه، PostgreSQL را تایپ کنید. از این طریق می توانید Docker Image های مختلف و مرتبط به پایگاه داده PostgreSQL را پیدا کنید.
با کلیک بر روی فایل مورد نظر، به صفحه جدیدی هدایت می شوید که در آن می توانید دستور مورد استفاده برای دسترسی به فایل Docker Image را پیدا کنید.
دستور مربوطه را کپی و یادداشت کنید. این دستور را در Command Prompt خود اجرا کنید تا نمونه PostgreSQL را نصب کنید.
راه دیگر برای کشیدن Image Docker PostgreSQL، دسترسی به آن با استفاده از Command Prompt به جای دسترسی به وب سایت داکر است. برای انجام این کار، این مراحل را دنبال کنید:
- یک پنجره command جدید باز کنید و دستور زیر را اجرا کنید.
docker pull postgres
- برای بدست آوردن لیست Docker Images موجود، دستور زیر را اجرا کنید.
docker images
- در مرحله بعد می توانید دستوری را که از داکر هاب کپی کرده اید در Command Prompt وارد کنید.
docker run –name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
- دستور بالا باید سفارشی شود و پارامترهای لازم اضافه شود تا برای نصب و راه اندازی PostgreSQL در Docker به درستی کار کند.
docker run –name postgresql -e POSTGRES_USER=myusername -e POSTGRES_PASSWORD=mypassword -p 5432:5432 -v /data:/var/lib/postgresql/data -d postgres
در دستور بالا،
- PostgreSQL نام Docker Container است.
- e POSTGRES_USER- پارامتری است که یک نام کاربری منحصر به فرد را برای پایگاه داده Postgres تنظیم می کند.
- e POSTGRES_PASSWORD- پارامتری است که به شما امکان می دهد رمز عبور پایگاه داده Postgres را تنظیم کنید.
- p 5432:5432- پارامتری است که ارتباط بین Host Port و Docker Container Port برقرار می کند. در این حالت، هر دو پورت به عنوان 5432 نمایش داده می شوند، که نشان می دهد درخواست های ارسال شده به پورت های میزبان به طور خودکار به پورت کانتینر داکر هدایت می شوند. علاوه بر این، 5432 همان پورتی است که PostgreSQL درخواست های مشتری را می پذیرد.
- v- پارامتری است که داده های Postgres را با پوشه محلی (در سیستم خودتان) همگام (Sync) می کند. این کار تضمین می کند که داده های پستگرس بهطور ایمن در فهرست اصلی وجود خواهند داشت، حتی اگر کانتینر Docker خاتمه یابد.
- d- پارامتری است که Docker Container را در حالت جدا شده (detached)، یعنی در پس زمینه اجرا می کند. اگر اشتباهاً Command Prompt را ببندید یا خاتمه دهید، Docker Container همچنان در پس زمینه اجرا می شود.
- postgres نام Image Docker است که قبلا برای اجرای Docker Container دانلود شده بود.
اکنون، docker ps -a را برای بررسی وضعیت کانتینر جدید PostgreSQL اجرا کنید.
با اجرای دستور، مانند تصویر بالا، خروجی را دریافت می کنید. نشان می دهد که Docker Container با موفقیت در پورت 5432 اجرا می شود.
- برای راه اندازی Docker Container:
docker start postgresqldb
- برای توقف Docker Container:
docker stop postgresqldb
اکنون با موفقیت یک Docker Container ایجاد کرده اید که محیط PostgreSQL را اجرا می کند.
مرحله 3: نصب PGAdmin در داکر
در این مرحله از نصب و راه اندازی محیط Docker PostgreSQL ،PostgreSQL شما فعال است و روی پورت های مربوطه اجرا می شود. اکنون، باید PGAdmin را نصب کنید، یک ابزار رابط کاربری گرافیکی مبتنی بر وب که برای مدیریت سرویس ها و دیتابیس های PostgreSQL استفاده می شود. با نصب PGAdmin می توانید بررسی کنید که آیا کانتینرهای داکرتان به خوبی کار می کنند یا خیر و کوئری های SQL را روی دیتابیس های موجود در PostgreSQL اجرا کنید.
برای دانلود PGADmin مراحل زیر را انجام دهید:
- به Ducker Hub بروید و PgAdmin را جستجو کنید. برای اجرای PGAdmin می توانید Docker Image های مختلفی پیدا کنید. مورد مناسب را انتخاب کنید و دستور Docker Pull را کپی کنید (این لینک را دنبال کنید تا دستور “Docker pull” را دریافت کنید که نسخه PGAdmin4 را واکشی می کند. همچنین می توانید نسخه های PGAdmin مربوطه را با توجه به ترجیحات خود دریافت کنید).
- برای شروع PGAdmin دستور pull را اجرا کنید.
docker pull dpage/pgadmin4:latest
پس از دانلود Image، با اجرای دستور زیر، کانتینر را اجرا کنید.
docker run –name my-pgadmin -p 82:80 -e ‘PGADMIN_DEFAULT_EMAIL=user@domain.local’ -e ‘PGADMIN_DEFAULT_PASSWORD=postgresmaster’-d dpage/pgadmin4
در دستور بالا، my-pgadmin نام Docker PostgreSQL PGAdmin Container است. PGADMIN_DEFAULT_EMAIL و PGADMIN_DEFAULT_PASSWORD به ترتیب نام کاربری و رمز عبور کانتینر Docker PostgreSQL هستند.
- پس از این، مرورگر خود را باز کنید و آدرس وب http://localhost:8081/ را جستجو کنید تا شما را به صفحه اصلی PGAdmin 4 Web Instance منتقل کند.
- در صفحه اصلی باید نام کاربری و رمز عبور PGAdmin 4 را وارد کنید.
- اعتبارنامه هایی را که هنگام اجرای Docker Container PGAdmin تعریف کرده اید را وارد کنید.
- پس از ورود با PGAdmin 4، صفحه اصلی را مشاهده خواهید کرد که در آن باید بین ابزار GUI و سرور Postgres ارتباط برقرار کنید.
- روی آیکون “Add New Server” در صفحه اصلی کلیک کنید. کادر گفتگوی جدیدی را باز می کند که از شما می خواهد دو فیلد اجباری مانند “General” و “Connection” را پر کنید.
- در تب General، نامی منحصر به فرد برای شناسایی ارتباط بین PostgreSQL و PGAdmin 4 انتخاب کنید. سپس با انتخاب از منوی کشویی Servers، group Server را پر کنید.
- اکنون به تب Connection در زیر همان کادر گفتگو بروید و فیلدهای مورد نیاز را پر کنید.
- قبل از پر کردن جزئیات اتصال، برای کسب اطلاعات مورد نیاز در مورد تنظیمات اتصال، باید دستور زیر را اجرا کنید.
docker inspect postgresql -f “{{json .NetworkSettings.Networks }}”
دستور بالا جزئیات اتصال شما را با فرمت JSON نمایش می دهد.
- در برگه اتصال، می توانید جزئیات نام میزبان/آدرس را مطابق با خروجی دستور بازرسی داکر پر کنید.
- مقدار پورت را با 5432 پر کنید که Docker PostgreSQL Container را اجرا می کند و نام پایگاه داده را به عنوان postgres وارد کنید. سپس، فیلدهای نام کاربری و رمز عبور را با اعتبارنامه هایی که هنگام اجرای کانتینر PGAdmin ایجاد کردهاید، پر کنید.
- پس از ارائه تمام جزئیات مورد نیاز، بر روی دکمه “Save” کلیک کنید.
اکنون، PGAdmin به Docker Postgres متصل شده است. می توانید نمونه جدیدی که ایجاد شده است را در پنل سمت چپ مشاهده کنید که تأیید می کند که اتصال با موفقیت، بین PGAdmin و Postgres برقرار شده است.
در داشبورد PGAdmin، می توانید نمونه PostgreSQL را که روی Docker Container اجرا می شود و محیط Docker PostgreSQL را به طور کامل مدیریت کنید. همچنین می توانید با نوشتن دستورات با استفاده از “Query Tool” از داشبورد PGAdmin، پایگاه داده PostgreSQL را بررسی کنید.
با استفاده از مراحل ذکر شده در بالا، شما با موفقیت یک Docker Postgres Instance را در Docker نصب و راه اندازی کرده اید.
نتیجه
در این مقاله، با Docker PostgreSQL Container، نحوه نصب، راه اندازی و اجرای Docker Postgres Instance در Docker آشنا شدید. همچنین روش راه اندازی رابط کاربری گرافیکی برای تعامل با نمونه های Postgre در Docker را یاد گرفته اید.
با این حال، همچنین می توانید از CLI (ابزارهای رابط خط فرمان) برای اتصال با سرور PSQL برای اجرای کوئری در دیتابیس های موجود در PostgreSQL استفاده کنید.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.