Быстрый старт: Установка WordPress + MySQL c помощью Docker Compose
С помощью Docker Compose, можно легко запускать WordPress в изолированной среде, созданной с помощью контейнеров Docker. В этом кратком руководстве показано, как использовать Compose для настройки и запуска WordPress. Перед запуском убедитесь, что у вас установлен Docker Compose.
Определите проект
-
Создайте пустой каталог проекта.
Вы можете назвать каталог как-нибудь легко запомнить. Этот каталог является контекстом для вашего образа приложения. Каталог должен содержать только ресурсы для создания этого образа.
Этот каталог проекта содержит
docker-compose.yml
файл, который сам по себе готов для хорошего стартового проекта WordPress.Совет: Вы можете использовать расширение
.yml
или.yaml
для этого файла. Они оба работают. -
Перейдите в каталог вашего проекта..
Например, если вы назвали свой каталог
my_wordpress
:cd my_wordpress/
-
Создайте
docker-compose.yml
файл, который запускает вашWordPress
блог, и отдельныйMySQL
экземпляр с монтированием томов для сохранения данных:services: db: # В примере используем образ mariadb, который поддерживает архитектуру amd64 и arm64. image: mariadb:10.6.4-focal # Если вы действительно хотите использовать MySQL, раскомментируйте следующую строку #image: mysql:8.0.27 command: '--default-authentication-plugin=mysql_native_password' volumes: - db_data:/var/lib/mysql restart: always environment: - MYSQL_ROOT_PASSWORD=somewordpress - MYSQL_DATABASE=wordpress - MYSQL_USER=wordpress - MYSQL_PASSWORD=wordpress expose: - 3306 - 33060 wordpress: image: wordpress:latest volumes: - wp_data:/var/www/html ports: - 80:80 restart: always environment: - WORDPRESS_DB_HOST=db - WORDPRESS_DB_USER=wordpress - WORDPRESS_DB_PASSWORD=wordpress - WORDPRESS_DB_NAME=wordpress volumes: db_data: wp_data:
Примечания :
Докер создает
db_data
иwordpress_data
сохраняет обновления, внесенные WordPress в базу данных, а также установленные темы и плагины. Здесь можно узнать как работают тома в докереWordPress Multisite работает только на портах
80
и443
.
Сборка проекта
Теперь запустите docker compose up -d
из каталога вашего проекта..
Он работает docker compose up
в автономном режиме, извлекает необходимые образы Docker и запускает контейнеры wordpress и базы данных, как показано в примере ниже.
$ docker compose up -d
Creating network "my_wordpress_default" with the default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
efd26ecc9548: Pull complete
a3ed95caeb02: Pull complete
<...>
Digest: sha256:34a0aca88e85f2efa5edff1cea77cf5d3147ad93545dbec99cfe705b03c520de
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
efd26ecc9548: Already exists
a3ed95caeb02: Pull complete
589a9d9a7c64: Pull complete
<...>
Digest: sha256:ed28506ae44d5def89075fd5c01456610cd6c64006addfe5210b8c675881aff6
Status: Downloaded newer image for wordpress:latest
Creating my_wordpress_db_1
Creating my_wordpress_wordpress_1
Примечание: WordPress работает только на портах
80
и/или443
. Если вы получаете сообщение об ошибке о привязке0.0.0.0
к порту80
или443
(в зависимости от того, какой вы указали), вполне вероятно, что порт, который вы настроили для WordPress, уже используется другим сервисом.
WordPress в веб-браузере
На этом этапе WordPress должен работать на порту 80
вашего хоста Docker, и вы можете выполнить «знаменитую пятиминутную установку» в качестве администратора WordPress.
Примечание : Сайт WordPress не сразу доступен через порт,
80
поскольку контейнеры все еще инициализируются, и первая загрузка может занять несколько минут.
Если вы используете Docker Desktop для Mac или Docker Desktop для Windows, вы можете использовать его http://localhost
в качестве IP-адреса и открыть http://localhost:80
в веб-браузере.
Выключение и очистка
Команда docker compose down
удаляет контейнеры и сеть по умолчанию, но сохраняет вашу базу данных WordPress.
Команда docker compose down --volumes
удаляет контейнеры, сеть по умолчанию и базу данных WordPress.