Установка WordPress в docker

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 будет запущен;

Оставьте комментарий