Установка и настройка WordPress и Docker на Ubuntu: руководство для начинающих

WordPress в Docker на Ubuntu – удобный стенд: БД и PHP изолированы, проект переносится папкой, проще поднять второй инстанс. Ниже – установка Docker и Docker Compose, затем docker-compose с MySQL и WordPress. Для продакшена пароли, HTTPS и бэкапы настройте отдельно.

Шаг 1. Docker на Ubuntu

Обновите индекс пакетов и поставьте зависимости для HTTPS-репозитория:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common

Ключ и репозиторий Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker

apt-cache policy должен показать пакет из download.docker.com, не из «голого» Ubuntu universe. Сервис docker – active (running).

На новых Ubuntu вместо apt-key часто кладут ключ в /etc/apt/keyrings по актуальной инструкции Docker. Смысл тот же: официальный repo и пакет docker-ce.

Шаг 2. Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -oP '(?<=tag_name": "v)[^"]*')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Если плагин Compose V2 уже идёт с Docker Desktop / пакетом docker-compose-plugin, достаточно docker compose version (без дефиса). Команды ниже совместимы с классическим бинарником docker-compose.

Шаг 3. WordPress через Compose

mkdir ~/wordpress
cd ~/wordpress

Файл docker-compose.yml:

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:

Пароли в примере учебные. Перед выходом в сеть смените все MYSQL_* и WORDPRESS_DB_*, не публикуйте 8000 наружу без reverse proxy и TLS.

sudo docker-compose up -d

Мастер установки: http://localhost:8000 (или IP сервера:8000). Создайте админа, язык, постоянные ссылки – как на обычном WP.

Полезные команды

docker-compose ps
docker-compose logs -f wordpress
docker-compose down
# down -v удалит volume db_data - база пропадёт

Плюсы и ограничения

Плюсы: одинаковое окружение на ноутбуке и VPS, быстрый снос стенда, изоляция MySQL. Минусы: нужно понимать volumes и сеть Docker, бэкапы – это дамп БД + файлы wp-content, обновления ядра/плагинов как в обычном WP. Для боя обычно добавляют nginx/Caddy, SSL, отдельный volume под uploads и мониторинг места на диске.

Если образ MySQL 5.7 на вашей архитектуре уже недоступен, замените на mysql:8.0 или mariadb:10.11 и при необходимости поправьте переменные совместимости – логика compose та же.

Источники и ссылки


Комментарии загружаются…