Используем docker-compose для мгновенной установки экземпляра WordPress для разработки.
Я буду использовать локальный адрес http://127.0.0.127:8080, пользователя admin с паролем 9YyO0T9sPqGplvL0.
Создайте каталог plugins для локального редактирования плагинов.
$ mkdir plugins
Проверьте конфигурацию docker-compose.
$ cat docker-compose.yml
version: '2' services: wordpress: image: wordpress environment: - WORDPRESS_DB_HOST=database - WORDPRESS_DB_NAME=wordpress - WORDPRESS_DB_PASSWORD=C8aouSKnyPUV0l0u - WORDPRESS_DB_USER=wordpress ports: - "127.0.0.127:8080:80" volumes: - ./plugins:/var/www/html/wp-content/plugins - wordpress:/var/www/html depends_on: - database database: image: mariadb environment: - MYSQL_ROOT_PASSWORD=ZqJNzcQNuahnCY1n - MYSQL_DATABASE=wordpress - MYSQL_PASSWORD=C8aouSKnyPUV0l0u - MYSQL_USER=wordpress cli: image: wordpress:cli user: "33:33" depends_on: - database - wordpress environment: - WORDPRESS_DB_HOST=database - WORDPRESS_DB_NAME=wordpress - WORDPRESS_DB_PASSWORD=C8aouSKnyPUV0l0u - WORDPRESS_DB_USER=wordpress command: > bash -c "/bin/sleep 30 && /usr/local/bin/wp core install --path=/var/www/html \ --url=http://127.0.0.127:8080 \ --title=\"WordPress Development\" \ --admin_user=admin \ --admin_password=9YyO0T9sPqGplvL0 \ --admin_email=admin@example.com" volumes: - wordpress:/var/www/html volumes: wordpress:
Создайте контейнеры.
$ docker-compose up -d
Creating volume "wordpress_wordpress" with default driver Creating wordpress_database_1 ... done Creating wordpress_wordpress_1 ... done Creating wordpress_cli_1 ... done
Просмотрите процесс установки WordPress.
$ docker-compose logs cli
Attaching to wordpress_cli_1 cli_1 | sendmail: can't connect to remote host (127.0.0.1): Connection refused cli_1 | Success: WordPress installed successfully.
Настройка WordPress будет выполнена только один раз, не думайте об этом.
WordPress is already installed.
Остановка и очистка среды.
$ docker-compose stop
Stopping wordpress_wordpress_1 ... done Stopping wordpress_database_1 ... done
$ docker-compose rm -f
Going to remove wordpress_cli_run_84e3dcdb2a72, wordpress_cli_1, wordpress_wordpress_1, wordpress_database_1 Removing wordpress_cli_run_84e3dcdb2a72 ... done Removing wordpress_cli_1 ... done Removing wordpress_wordpress_1 ... done Removing wordpress_database_1 ... done
$ docker volume rm -f wordpress_wordpress
wordpress_wordpress
см. также:
🐳 Docker compose с постоянными данными MySQL
🐳 Управление Docker контейнерами с помощью Docker Compose
🐳 Лучшие инструменты с графическим интерфейсом для Docker