WordPress е написан на PHP и се поддържа от MySQL база данни. Това означава, че използва стека на Linux, Apache, MySQL и PHP или LAMP. Основната архитектура на WordPress е модулна, която предоставя обширни функции и разширяемост с помощта на плъгини и теми.
Като разработчик може да срещнете необходимостта бързо да стартирате екземпляр на WordPress, без да конфигурирате всички изисквания и инструменти на сървъра. Тук се намесва Docker.
В този урок ще научим как бързо да настроим основен WordPress с помощта на Docker compose и прости инструменти.
Изисквания
За да използвате този урок, ще ви трябва следното:
- Docker Engine, инсталиран на вашата хост машина.
- Достатъчни разрешения за стартиране на Docker контейнери.
- Docker Compose е инсталиран на вашата машина.
- Основни познания за писане и използване на файлове за композиране на Docker.
Дефиниране на файла за съставяне на Docker
За да стартираме WordPress с помощта на Docker Compose, трябва да дефинираме файла за композиране. Това ще включва всички инструменти и услуги, от които се нуждаем, за да стартираме WordPress.
Създайте нов файл, наречен docker-compose.yml.
$ докосване docker-compose.ymlРедактирайте файла и добавете конфигурацията, както е показано:
услуги:
db:
изображение: mysql:8.0.27
команда: '--default-authentication-plugin=mysql_native_password'
томове:
- db_data: / беше / либ / mysql
рестартиране: винаги
заобикаляща среда:
- MYSQL_ROOT_PASSWORD =mysql
- MYSQL_DATABASE =wordpress
- MYSQL_USER =wordpress
- MYSQL_ПАРОЛА =wordpress
излагам:
- 3306
- 33060
wordpress:
изображение: wordpress: най-новото
портове:
- 80 : 80
рестартиране: винаги
заобикаляща среда:
- WORDPRESS_DB_HOST =db
- WORDPRESS_DB_USER =wordpress
- WORDPRESS_DB_PASSWORD =wordpress
- WORDPRESS_DB_NAME =wordpress
томове:
db_data:
В горния Dockerfile имаме конфигурацията, разбита на следните секции. Всеки раздел изпълнява определен набор от инструкции.
Първият е секцията db. Този раздел казва на Docker да извърши следните действия:
- Използвайте изображението „mysql:8.0.27“.
- Задайте приставката за удостоверяване по подразбиране на „mysql_native_password“.
- Монтирайте том с име „db_data“, за да съхранявате постоянно MySQL данни.
- Рестартирайте услугата автоматично.
Ние също така дефинираме променливи на средата за MySQL конфигурация, включително root парола, име на база данни, потребител и потребителска парола.
И накрая, излагаме портове 3306 и 33060 за връзки към бази данни.
В секцията WordPress казваме на Docker да извърши следните действия:
- Използва wordpress:последното изображение.
- Съпоставете порт 80 на хоста с порт 80 в контейнера за уеб достъп.
- Рестартирайте услугата автоматично.
Ние също така определяме променливите на средата за WordPress за свързване с базата данни MySQL, включително хоста на базата данни, потребителя, потребителската парола и името на базата данни.
И накрая, ние конфигурираме обемите на Docker за постоянно съхранение на данни.
Изпълнение на контейнерите
След като сме указали конфигурацията по наш вкус, можем да продължим и да изпълним контейнерите и услугите, дефинирани във файла за композиране като:
$ докер съставяне -дТова трябва да създаде всички изображения и да стартира услугите, както е дефинирано по-горе.
Конфигуриране на WordPress
След като всички услуги работят, можете да се отправите към адреса http://localhost:80 за да конфигурирате вашето WordPress копие.
Заключение
В този урок разгледахме основите за това как бързо да накарате екземпляр на WordPress да работи в Docker контейнер с помощта на Docker compose.