Использование контейнеров Docker с WordPress

Опубликовано: 2022-06-30

Запуск веб-сайтов WordPress может включать использование большого количества конфигураций и программных зависимостей для создания высококачественных продуктов. Вы, возможно, задавались вопросом, есть ли более простой способ разрабатывать такие проекты локально, не запуская так много различных программных пакетов на своей машине.

К счастью, Docker — это продукт, предлагающий решение для более быстрой и плавной настройки WordPress. Docker — это не просто виртуальная машина, он предоставляет контейнеры для разработки веб-сайтов WordPress в дополнение к другим приложениям и программному обеспечению. Docker также может помочь вам легко подготовить приложения для отправки на другие платформы, оптимизируя рабочий процесс.

В этой статье мы рассмотрим, что такое контейнеры и как они влияют на разработку. Затем мы рассмотрим, как настроить контейнер для локальной разработки WordPress и подготовить его к работе. Давайте начнем!

Оглавление
1. Что такое контейнеры?
2. Начало работы с Докером
3. Использование контейнера для WordPress (с Docker)
3.1. Шаг 1: Установите Compose
3.2. Шаг 2: Определите проект
3.3. Шаг 3. Создайте файл Docker для YAML
3.4. Шаг 4: Создайте проект
3.5. Шаг 5: Получите доступ к вашей установке WordPress
4. Могу ли я отправить образ WordPress на рабочий сервер?
5. Создайте что-то великое с помощью WP Engine

Что такое контейнеры?

Установка WordPress — это не прогулка по парку, и разработка веб-сайта WordPress может быть сложной задачей. С точки зрения веб-разработки контейнеры — это стандартизированные единицы программного обеспечения, которые упаковывают ваш код и все его зависимости, поэтому развертывание WordPress становится намного проще. Несколько контейнеров также позволяют надежно делать это из одной среды в другую.

Хотя Docker — это своего рода виртуализация, он отличается от обычных виртуальных машин (ВМ). В то время как виртуальные машины занимают драгоценное пространство, добавляя хост-ОС в пользовательское пространство для каждого приложения, контейнерная разработка разделяет это пространство между всеми контейнерами.

Настоящая прелесть Docker в том, что он будет работать одинаково независимо от того, на какой ОС вы работаете. Кроме того, вы можете запускать множество контейнеров Docker на машине, которая в противном случае столкнулась бы с таким же количеством виртуальных машин. Вам также не нужно беспокоиться об ошибках, которые иногда может вызвать локальная разработка. Это также известно как головоломка «но это работает на моей машине» в разработке приложений.

Начало работы с Докером

В Docker есть множество различных продуктов, которые в совокупности образуют мощный набор инструментов для разработчиков. Вы можете начать работу с Docker Engine, бесплатно загрузив версию сообщества:

Вам нужно будет создать учетную запись Docker, чтобы загрузить движок. Затем вы захотите ознакомиться с документацией Docker по началу работы. У вас будет восемь различных версий Docker на выбор. В этом примере мы собираемся загрузить Docker Desktop для Mac:

Вам нужно будет войти в свою учетную запись Docker, чтобы загрузить движок. Кроме того, вы должны убедиться, что на вашем компьютере есть терминальное приложение, готовое к работе.

Использование контейнера для WordPress (с Docker)

Чтобы использовать контейнеры Docker для локальной разработки веб-сайта WordPress, вы также будете использовать другое приложение Docker. Вскоре мы расскажем, как установить Compose, но важно знать, что этот инструмент используется для определения и запуска мультиконтейнерных приложений в Docker. Тогда вы готовы прыгать прямо!

Шаг 1: Установите Compose

Прежде чем приступить к работе с Docker, убедитесь, что вы установили Compose. Если вы используете Docker Desktop для Mac или Windows, Compose предустановлен:

Если вы работаете в Linux, вам нужно будет использовать Терминал для выполнения команд установки. Просто имейте в виду, что Compose зависит от Docker Engine. Вам нужно будет установить оба, чтобы участвовать в любой разработке WordPress.

Compose использует файл YAML не языка разметки (YAML) для настройки всех служб вашего приложения. Это удобный для человека способ представить сериализацию данных, и он работает со всеми языками программирования. В этом случае файл YAML установит необходимую информацию базы данных для WordPress.

Шаг 2: Определите проект

После установки Docker Engine и Compose вы можете приступить к работе над своим первым проектом разработки WordPress. Вам нужно будет создать новый пустой каталог проекта с помощью команды make directory:

mkdir new_wordpress/

Настроенный вами каталог будет контекстом для вашей разработки и будет содержать только необходимые элементы, включая файл docker-compose.yaml. Мы создадим этот файл на следующем шаге.

Затем вы можете перейти в новый каталог, используя следующую команду:

cd new_wordpress/

Теперь вы находитесь в каталоге нового проекта и готовы приступить к работе.

Шаг 3. Создайте файл Docker для YAML

Теперь вам нужно создать новый файл docker-compose.yaml. Это создаст новую установку WordPress и необходимую базу данных MySQL. Ваш файл будет содержать всю информацию как для WordPress, так и для вашей базы данных, включая необходимые порты, базы данных, имена хостов и пароли.

Ваш файл YAML будет выглядеть примерно так:

version: '3.3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}

Стоит отметить, что тома Docker содержат постоянные данные, и вы можете обратиться к документации по томам, чтобы полностью освоиться.

Шаг 4: Создайте проект

Теперь, когда вы настроили файл YAML, вам нужно выполнить команду, которая загрузит все необходимые изображения и настроит ваш проект WordPress. Из каталога вашего проекта вы запустите следующую команду:

docker-compose up -d

Теперь вы должны увидеть, что Docker «извлекает» образы MySQL и WordPress.

Стоит отметить, что страницы изображений Docker Hub содержат много ценной информации о контейнерах MySQL и WordPress:

Считайте это своим универсальным справочным руководством с полезными командами для образа контейнера. Их стоит добавить в закладки для дальнейшего использования.

Шаг 5: Получите доступ к вашей установке WordPress

Поскольку вы устанавливаете этот сайт локально, вам нужно будет использовать порт, указанный в вашем файле YAML, а не типичный скрипт WordPress /install.php . Поскольку в нашем примере мы используем Docker Desktop для Mac, мы будем использовать https://localhost в качестве IP-адреса и откроем порт https://localhost:8000 . Это был порт, указанный в вашем файле YAML.

Скорее всего, теперь вы находитесь на знакомой территории, если вы устанавливали WordPress раньше, и вы можете выполнить «знаменитый пятиминутный процесс установки»:

Возможно, вам потребуется дать Docker несколько минут, чтобы полностью загрузить и инициализировать образы, но затем вы можете получить доступ к WordPress в браузере, чтобы выполнить стандартные шаги установки.

После завершения установки также рекомендуется «выключить и очистить». Для этого вы можете использовать команду Docker «вниз». Это остановит и удалит контейнеры, но сохранит базу данных WordPress. Есть довольно много вещей, которые нужно понять о приостановке, уничтожении и остановке контейнеров, если вы используете Docker, поэтому стоит прочитать больше по этой теме.

Могу ли я отправить образ WordPress на рабочий сервер?

Здесь важно отметить, что сайты, размещенные на серверах WP Engine, не имеют корневого доступа, необходимого для установки нового образа докера. Однако, если ваш сайт находится на рабочем сервере, вы можете выполнить следующие шаги, чтобы отправить изображение.

Теперь, когда вы создали образ WordPress локально, вам может быть интересно, как вы можете использовать тот же образ на рабочем сервере. Некоторые из шагов, которые вы только что выполнили, будут такими же, но сначала вам нужно будет создать частный репозиторий в Docker Hub.

Чтобы запустить контейнер WordPress Docker в производство, вам нужно использовать свою учетную запись Docker и отправить образ в частный репозиторий. Оттуда вы можете выполнить те же действия, которые мы уже выполняли ранее, но вы перетащите образ из своего репозитория непосредственно на рабочий сервер, изменив информацию о порте в файле YAML.

Существует бесплатная возможность использования приватных репозиториев, но вы можете создать только один. К счастью, у Docker есть множество ценовых категорий, которые удовлетворят потребности практически любого разработчика:

В конечном счете, если вы хотите улучшить свой рабочий процесс разработки или только начинаете заниматься в этой области, Docker — отличный инструмент, который должен быть в вашем наборе ресурсов. Он также предоставляет множество полезной документации и поддержки.

Создайте что-то великое с помощью движка WP

Теперь, когда вы ознакомились с Docker, вы можете захотеть приступить к разработке новых приложений для настройки сайта WordPress. Имейте в виду, что одно из самых больших преимуществ Docker заключается в том, что вы будете знать, что ваши приложения не будут сталкиваться с причудливыми машинными ошибками.

Здесь, в WP Engine, мы любим делиться лучшими ресурсами разработчиков, чтобы вы могли создавать невероятные цифровые возможности для своих клиентов. Находитесь ли вы на этапе разработки, постановки или производства своего проекта, у нас есть планы хостинга и инновационные цифровые решения для вас!

Хотите узнать другие способы быстрой установки приложений WordPress? Или, может быть, другие способы настроить сайт WordPress? Дайте нам знать ваши мысли в разделе комментариев.