Это будет охватывать настройку контейнера Docker для локальной разработки WordPress и монтажа папки контейнера для облегчения разработки.
Основное редактирование: существует проблема с производительностью, которую я упомянул в. http://yer.ac/blog/2020/01/06/using-docker-containers-for-easy-local-wordpress-development🐳/
Зачем это?
Как правило, при выполнении какой -либо работы WordPress (которая для меня является исключительно
Пока это работает, используя такие вещи, как Docker, означают почти нулевую конфигурацию и больше времени на разработку. Еще лучше, это тогда становятся одноразовыми средами!
Требования
Единственным требованием для этого является установка Docker ( https://www.docker.com )
Создание экземпляра WordPress
Во -первых, создайте папку, где будет жить конфигурация, например, C: \ Docker \ WordPress
В этой папке нам нужно сделать файл с именем Docker-compose.yml
Анкет Это будет файл YAML, подробно описывающий нашу установку WordPress, например, информация для входа в систему и настройка MySQL.
В этом файле скопируйте и вставьте контент ниже:
version: '3.1' services: wordpress: image: wordpress restart: always ports: - 1234:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1'
Это покажет Docker, что нам нужно использовать имя изображения «WordPress» из концентратора Docker ( https://hub.docker.com/_/wordpress ), вперед порт 80 контейнера (который будет раскрытый веб -сайт) до номера порта 1234 родительского хоста. Это означает ходить в http://localhost: 1234 перейдет в порт 80 контейнера Docker.
Наконец, чтобы использовать MySQL v5.7 в качестве нашей базы данных. Вам не нужно менять эту информацию, но если вы это сделаете, убедитесь, что информация о базе данных в WordPress
Раздел соответствует информации в DB
раздел.
Как только этот файл сохраняется, мы можем запустить Docker -Compose -u -d
пока в том же каталоге. Это займет файл YAML, загрузите любые изображения, которые еще не находятся в локальной системе, а затем установите WordPress и MySQL на основе YAML.
Примечание: : Если вы получите ошибку Нет соответствующего манифеста для Windows/AMD64 в записях списка манифестов
При выполнении этой команды, и вы находитесь в Windows 10, вам нужно будет включить «экспериментальный режим» в установке Docker. Для этого щелкните правой кнопкой мыши на Docker в системном лотке и перейдите к настройкам, проверив коробку с именем «Экспериментальный режим».
Примечание: : Если вы получите ошибку, например Ошибка: для WordPress_db_1 не может создать контейнер для службы DB:
Обычно это вызвано конфликтом в портах. Попробуйте изменить внешний порт (в этом примере «1234» для чего -то другого)
Мы можем подтвердить, работает ли контейнер Docker, запустив Docker PS
Чтобы перечислить все работающие контейнеры или перейти к http://localhost: 1234 (Порт будет тем, на что вы установили в Yaml)
Отсюда вы можете выполнить стандартные этапы установки WordPress.
Остановка и начальные экземпляры
Вы можете остановить и начать экземпляры, выполнив следующее:
Docker-Compose Stop
и Docker -Compose -u -d
Анкет Стоп может занять некоторое время.
Обратите внимание, что эти команды (в этом синтаксисе) должны выполняться на том же уровне, что и файл YAML.
Работа с экземпляром
Если вы просто хотите поиграть с WordPress, этого будет достаточно, но что, если вы хотите скопировать файлы в экземпляр или отредактировать файлы?
Вариант 1: SSH/FTP
Несмотря на то, что лично не фанат этого метода, мы могли бы SSH в контейнере с таким инструментом, как замазка, см. Это руководство: https://phase2.github.io/devtools/common-tasks/ssh-into-a-container/ Мы также могли бы настроить контейнер, чтобы иметь FTP -сервер. Это не будет покрыто, поскольку я считаю, что следующий вариант будет лучше.
Вариант 2: крепление папка Windows
Эта опция установит определенную папку в контейнере Docker в папку в вашей собственной системе.
Прежде чем продолжить, нам нужно убедиться, что контейнер в настоящее время остановлен ( Docker-Compose Stop
)
Мы внесем изменение в файл YAML, чтобы добавить тома
опция, как показано ниже.
version: '3.1' services: wordpress: image: wordpress restart: always ports: - 1234:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb volumes: - "C:/Docker/Wordpress/Mounted:/var/www/html" db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1'
Как мы видим, тома
Настройка содержит строку, которая состоит из 2 частей, разделенных толстой кишкой :
. Это:
- C:/Docker/WordPress/Mounted — это локальный путь, в котором вы хотите установить папку.
- /var/www/html » — Это путь в контейнере, который вы хотите установить.
Обратите внимание, что лично мне нравится иметь крепление в том же каталоге, что и конфигурация YAML для ясности, но оно может жить в любом месте вашей системы.
Сохранение этого файла и повторное выполнение команды Docker-Compose теперь отобразит указанный том.
Сноска
Я немного новичок, когда дело доходит до Docker, и я не использую WordPress очень много, так что возьмите с щепоткой соли и дайте мне знать, если это может быть улучшено!
Пост Использование контейнеров Docker для легкой локальной разработки WordPress🐳 появился первым на yer.ac | Приключения разработчика и другие вещи. .
Оригинал: «https://dev.to/yerac/using-docker-containers-for-easy-local-wordpress-development-4j3g»