WordPress – это популярная CMS для создания и управления сайтами. Docker – это платформа для создания, развертывания и управления контейнерами.
Установка WordPress в Docker может упростить процесс создания и управления сайтом. В этой статье мы расскажем, как установить WordPress в Docker.
Шаг 1: Установка Docker
Перед установкой WordPress в Docker, нужно установить Docker на ваш компьютер или сервер.
Для Linux, использовать следующую команду:
sudo apt-get install docker.io
Для Mac, нужно загрузить Docker Desktop для Mac на официальном сайте https://www.docker.com/products/docker-desktop.
Для Windows нужно загрузить Docker Desktop для Windows на официальном сайте https://www.docker.com/products/docker-desktop.
После установки Docker, проверьте его работоспособность, выполнив команду:
docker --version
Шаг 2: Создание Dockerfile
Для установки и настройки WordPress в Docker потребуется Dockerfile. В Dockerfile мы определим, какие пакеты будут установлены в контейнер и как конфигурировать WordPress и сервер.
FROM wordpress:latest
# обновление аптечек и установка пакетов
RUN apt-get update && apt-get install -y \
curl \
nano \
vim \
&& docker-php-ext-install mysqli
# копирование кастомных php.ini и конфигов в контейнер
COPY conf/php.ini /usr/local/etc/php/
# копирование скриптов для бэкапа в контейнер
COPY backup.sh /backup.sh
# настройка прав доступа
RUN chmod +x /backup.sh
CMD [ "/bin/bash" ]
В этом примере:
FROM wordpress:latest
обозначает, что базовый образ WordPress будет использован для создания нового контейнера;RUN apt-get update && apt-get install -y curl nano vim && docker-php-ext-install mysqli
выполняет обновление установленных пакетов и установку новых пакетов, таких как curl, nano, vim, и php mysqli расширение;COPY conf/php.ini /usr/local/etc/php/
копирует кастомный php.ini файл в контейнер;COPY backup.sh /backup.sh
копирует скрипт для бэкапа в контейнер;RUN chmod +x /backup.sh
устанавливает права для запуска бэкап скрипта;CMD [ "/bin/bash" ]
указывает на то, какой процесс должен быть запущен внутри контейнера, т.е. shell.
Шаг 3: Создание docker-compose.yml
Для управления контейнерами в Docker нужно создать файл docker-compose.yml.
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
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:
-./wp-content:/var/www/html/wp-content
-./scripts:/var/www/html/scripts
-./conf:/usr/local/etc/php/
volumes:
db_data:
В этом примере:
version: '3'
определяет используемую версию docker-compose;services:
определяет наши сервисы, которые будут запущены в контейнерах;db:
определяет сервис базы данных MySQL;image: mysql:5.7
определяет, что контейнер на основе образа MySQL 5.7 будет запущен;