آموزش عملی راه اندازی وردپرس با داکر

۱۴ مرداد ۱۳۹۸

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

خب کار رو شروع کنیم 🙂

داکر یک پلتفرم کانتینر نرم افزاری است که پیچیدگی های کانفیگ کردن یک پروژه رو یکبار حل میکنه یعنی یکبار در محیط لوکال شما یک سری کانفیک ها رو انجام میدین و دیگه در هر سروری و هر مکانی از آن کانفیگ ها استفاده میکنید و پروژه خودتون رو اجرا میکنید.

در مقاله های قبلی در مورد داکر بیشتر صحبت کردیم. در ادامه قرار هست که در مورد نصب و پیکیربندی وردپرس در داکر بیشتر یاد بگیریم.

نصب داکر:

اگر داکر رو نصب ندارین از این لینک بر اساس سیستم عاملتون عمل کنید و داکر رو نصب کنید :

https://docs.docker.com/install/

 

خب حالا تو مسیری که میخاین پروژتون رو بسازید پوشه جدید بسازید (سیستم عامل من اوبونتو هست ولی روش یکیه ربطی به سیستم عاملتون نداره فقط طبق آموزش قدم به قدم پیش بیاید )

docker wordpress

 

وارد پوشه میشیم و اولین فایل خودمون رو ایجاد میکنیم: فایلی با نام docker-compose.yml را در مسیر گفته شده ایجاد میکنیم:

docker wordpress

 

بعد از ساختن فایل موارد زیر را در فایل قرار دهید:

 

حالا وقتشه بریم سراغ این بخش ببینیم چه اتفاقی افتاده :

خب ما برای راه اندازی این پروژه به دو ایمیج نیاز داریم. mysql و wordpress

شما وقتی وارد سایت dockerhub میشین میتونین اسم ایمیج مدنظرتون رو جستجو کنید و لیست تمام ایمیج ها رو ببینید. ما از ایمیج رسمی MySQL  نسخه ۵٫۷ برای پایگاه داده استفاه میکنیم. اگر اسم ایمیج رو نمیدونین میتونین از دستور زیر برای پیدا کردن ایمیج مدنظرتون استفاده کنید :

 

نتیجه این دستور زیاده شما میتونید خروجی این دستور رو فیلتر کنید بگین مثلا فقط ایمیج های رسمی را میخواهم ببینم:

 

خب در خط اول مشخص کردیم از کدوم نسخه docker-compose استفاده میکنیم. در این جا نسخه ۳ را مشخص کردیم.

تگ services برای مشخص کردن سرویس های استفاده شده در این فایل و برنامه است. ما دوتا سرویس در این برنامه داریم یکی برای دیتابیس و دیگری برای wordpress.

مشخص کردیم که از نسخه ۵.۷ MySQL  استفاده میکنیم و در قسمت volumes مکان ذخیره سازی دیتاها را نیز مشخص کردیم که مسیر /var/lib/mysql را به مسیر ./data_backup بایند کرده ایم. قسمت سمت چپ به این معنا است که در همین مسیر فعلی در پوشه ای بنام data_backup فایلهای بکاپ مربوط به دیتابیس که در کانتینر در آدرس سمت راست است را قرار بده.

در قسمت متغیرها نیز (خط ۹ تا  ۱۳) تمام متغیرهای مورد نیاز برای ساخت و اتصال به دیتابیس را در کانتینر قرارداده ایم. لیست متغیرهای مورد نیاز نیز کاملا مشخص است.

برای ایمیج وردپرس نیز از ایمیجی استفاده کرده ایم که وب سرور آپاچی را نیز در دل خودش دارد با این کار نیاز به تنظیمات وب سرور  به صورت مجزا وجود ندارد. اگر مایل باشین میتوانید به صورت جدا از وب سرور آپاچی یا Nginx استفاده کنید که باید کانفیگ آنها را نیز جداگانه انجام دهید. در آموزش های بعدی حتما این مثال را نیز بررسی میکنیم.

در بخش ports مشخص کرده ایم که برنامه ما برای اجرا شدن باید روی چه پورتی اجرا شود.

پورت ۸۰۰۰ را به پورت ۸۰ کانتینر بایند کرده ایم. با این دستور اگر در مرورگر عبارت http://localhost:8000 را بنویسیم به صفحه نصب وردپرس هدایت میشویم. شما میتوانید پورت دلخواه خودتان را در بخش اول بنویسید.

متغیرهای مورد نیاز را نیز تعریف کرده ایم فقط برای WORDPRESS_DB_HOST نام کانتینر دیتابیس را قرار میدهیم. که مشخص کنیم باید به این دیتابیس وصل شود.

متغیرهای WORDPRESS_DB_USER  و WORDPRESS_DB_PASSWORD نیز دقیقا باید همان هایی باشند که در کانتینر دیتابیس تعریف کردیم. پوشه کاری را نیز در کانتینر مشخص کردیم که چه پوشه ای است (var/www/html)

در نهایت نیز مشخص کرده ایم برای ذخیره فایلها و بایند شدن فایلها دقیقا چه اتفاقی بیفتد. فایل های پروژه رو در پوشه wp-content  به مسیر آن در کانتینر بایند کرده ایم. البته شما میتوانید کل پروژه را بایند کنید که هر تغییری در هر فایلی در کل پروژه دادید در کانتینر نیز اعمال شود که تغییر در روند پروژه ایجاد نمیکند. یعنی به جای مشخص کردن پوشه میتوانید کل پوشه روت وردپرس را در این قسمت بنویسید.

یک فایل دیگر برای تنظیمات آپلود میسازیم که در کانتینر و تنظیمات PHP  اعمال کنیم و آن را نیز در آدرس گفته شده در کانتینر بایند میکنیم. فایل تنظیمات برای پارامترهای مربوط به آپلود مدیا را به صورت زیر در همان مسیر docker-compose.yaml  ایجاد میکنیم:

 

 

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

بعد از اتمام این مرحله و نصب ایمیج ها و ساخت کانتینر وارد مرورگر خود شوید و عبارت http://localhost:8000/ را وارد کنید. با صفحه نصب وردپرس مواجه میشوید و طبق دستورالعمل نصب وردپرس پیش روید و پارامترهای داده شده در فایل خود را جاگذاری کنید.

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

 

منبع‌

2
برچسب ها :
نویسنده مطلب علی فلاحتی

2 دیدگاه

  • مهدی دربندی
    ۲۴ مهر ۱۳۹۸

    ممنون از شما. من متوجه نشدم اگر بخامم از Nginx به عنوان وب سرور استفاده کنم چیکار باید بکنم. خودم به خطا میخورم هرچی میزنم و موفق نمیشم. ممنون میشم راهنماییم کنید

    • علی فلاحتی
      ۲۵ مهر ۱۳۹۸

      حتما در یک آموزش جدا به این مطلب خواهیم پرداخت

لینک های مفید