Установка wordpress через docker. Простой docker-compose. (install wordpress with docker-compose)

feature-image

Play all audios:

Loading...

СОЗДАЕМ ФАЙЛ DOCKER-COMPOSE.YML Наша сборка будет состоять из 3-ех стандартных сервисов: * Сервис WordPress. Будет включать в себя сервер и файлы CMS * Сервис для БД, в нашем случае MySQL *


Ну и так же поставим phpMyAdmin Службы будут описаны и указаны в файле docker-compose.yml, который сначала необходимо создать в нашем каталоге: mkdir wordpress-docker cd wordpress-docker


touch docker-compose.yml Можем открыть папку в любом удобном редакторе У нас должен быть пустой файл docker-compose.yml внутри папки wordpress-docker. Открываем файл и прописываем сервис для


mysql. version: '3' services:   db:     image: mysql:8     container_name: mysql     restart: always     command: "--default-authentication-plugin=mysql_native_password"


    environment:       MYSQL_ROOT_PASSWORD: password       MYSQL_DATABASE: wpdb       MYSQL_USER: user       MYSQL_PASSWORD: password В разделе сервисов мы добавили первое, которое


называется db. Этот сервис связан образом mysql и, следовательно, предоставляет необходимый экземпляр базы данных MySQL. command: 


"--default-authentication-plugin=mysql_native_password" Эта команда Эта команда позволяет нам запустить базу с включенной собственной аутентификацией по паролю. Кроме того, нам


нужно установить следующие переменные среды: MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER и MYSQL_PASSWORD. Можете прописать свои. ДОБАВЛЯЕМ WORDPRESS СЕРВИС Добавляем соотвествующий


кусок кода описывающий сервис wordpress:     image: wordpress     container_name: wordpress     restart: always     volumes:       - ./:/var/www/html/     environment:       


WORDPRESS_DB_HOST: db       WORDPRESS_DB_NAME: wpdb       WORDPRESS_DB_USER: user       WORDPRESS_DB_PASSWORD: password     ports:       - 8080:80       - 443:443 Здесь мы используем образ


wordpress. Вы можете указать любую версию вида WORDPRESS:4.9.8. Я буду использовать последнюю актуальную. Свойство volumes используется для подключения каталога /var/www/html контейнера к


локальной папке приложения. Все изменения, которые мы будем вносит в файлы папки нашего приложения буду отображать сразу в контейнере. Кроме этого, мы снова используем раздел ENVIRONMENT для


установки значений для четырех переменных: WORDPRESS_DB_HOST, WORDPRESS_DB_NAME, WORDPRESS_DB_USER и WORDPRESS_DB_PASSWORD. Значение, присвоенное WORDPRESS_DB_HOST, должно быть


идентификатором сервиса базы данных ( в нашем случае DB). И мы обязательно сопоставим внутренний порт 80 с внешним портом 8080, чтобы WordPress был доступен через http://localhost:8080.


ДОБАВЛЯЕМ PHPMYADMIN Вставляем код phpmyadmin:     image: phpmyadmin/phpmyadmin     restart: always     ports:       - 3333:80     environment:       PMA_HOST: db       MYSQL_ROOT_PASSWORT: 


password Здесь мы используем образ phpmyadmin/phpmyadmin (https://hub.docker.com/r/phpmyadmin/phpmyadmin). Включаем доступ к базе данных для phpMyAdmin. Устанавливаем две переменные среды


для этой службы: PMA_HOST: необходимо указать имя службы базы данных (в нашем случае db) MYSQL_ROOT_PASSWORD: необходимо установить пароль root MySQL (в нашем случае это просто password)


Внутренний порт 80 (на котором по умолчанию доступен phpMyAdmin) сопоставлен с внешним портом 3333, чтобы мы могли получить доступ к веб-интерфейсу пользователя phpMyAdmin с помощью URL


http://localhost:3333 позже. ИТОГОВЫЙ ФАЙЛ DOCKER-COMPOSE.YML Это полная версия получившегося файла: version: '3' services:   db:     image: mysql:8     container_name: mysql     


restart: always     command: "--default-authentication-plugin=mysql_native_password"     environment:       MYSQL_ROOT_PASSWORD: password       MYSQL_DATABASE: wpdb       


MYSQL_USER: user       MYSQL_PASSWORD: password   wordpress:     image: wordpress:4.9.8     container_name: wordpress     restart: always     volumes:       - ./:/var/www/html/     


environment:       WORDPRESS_DB_HOST: db       WORDPRESS_DB_NAME: wpdb       WORDPRESS_DB_USER: user       WORDPRESS_DB_PASSWORD: password     ports:       - 8080:80       - 443:443  


phpmyadmin:     image: phpmyadmin/phpmyadmin     restart: always     ports:       - 3333:80     environment:       PMA_HOST: db       MYSQL_ROOT_PASSWORT: password В целом все. Нам остается


только запустить установщик наших сервисов: docker-compose up Заходим на наш http://localhost:8080 и получаем стартовую страницу установки: Отлично все получилось.