Есть официальные образы для развертывания WordPress и использования wp-cli. Но при их совместном использовании мне приходилось расшаривать всю папку WordPress и хотелось, чтобы было больше возможностей для кастомизации установки.
Очень хотелось после запуска контейнера видеть в браузере не приглашение к выбору языка установки, а готовый сайт.
Эта статья предлагает один из способов развертывания сайтов на WordPress.
Установка
git clone https://github.com/eustatos/wordpress-docker-dev-env.git
или, если предпочитаете ssh
:
git clone git@github.com:eustatos/wordpress-docker-dev-env.git
Затем:
cd wordpress-docker-dev-env
docker-compose up -d
docker-compose exec -T wp-cli sh < install.sh
На этом установка окончена. Откройте localhost:8080
в предпочитаемом браузере.
Доступ к админ панели localhost:8080/wp-admin
.
Логин пользователя — admin
Пароль пользователя — 123
Изменить эти и другие переменные окружения и установки можно в файлах site.env
и .env
.
В папке проекта появляется папка wp-content
, где можно создавать иили изменять темы и плагины
Если есть проблемы с правами на файлы в папке wp-content
:
sudo usermod -a -G www-data $USER
Кастомизация сборки
Вы можете управлять сборкой, как удобно. Например, если не нужно создавать темы иили плагины по-умолчанию — просто внесите изменения в install.sh
.
#!/usr/bin/env bash
wp core download --force --allow-root
wp config create
--dbhost=$WORDPRESS_DB_HOST
--dbname=$WORDPRESS_DB_NAME
--dbuser=$WORDPRESS_DB_USER
--dbpass=$WORDPRESS_DB_PASSWORD
--allow-root
wp core install
--title=$TITLE
--url=$URL
--admin_user=$ADMIN_USER
--admin_password=$ADMIN_PASSWORD
--admin_email=$ADMIN_EMAIL
# add for skip creation default themes
--skip-themes
# add for skip creation default plugins
--skip-plugins
--allow-root
Полее подробно о возможностях wp core install
можно узнать
здесь
Пример создания темы
Например, для создания темы основанной на underscores
выполните следующую команду
docker-compose exec -T wp-cli wp scaffold _s
sample-theme
--theme_name="Sample Theme"
--author="John Doe"
Эта команда создаст папку sample-theme
в папкеwp-content
с файлами темы и вы можете тут же начать ее модифицировать.
В завершении, короткое видео для наглядности
Автор: eustatos