В последние несколько лет волна технологий виртуализации прокатилась по нашим средам разработки WordPress. Тот, который звучал наиболее перспективным для меня был Docker: легкий и гибкий. Тем не менее, до недавнего времени, получение Docker и работает была непреодолимая задача — особенно на не-Linux машины. Если вам удалось получить его и работает в виртуальной машине (с помощью Vagrant или аналогичный), получение порт-форвардинга на работу сделает вас сдаваться и просто использовать Vagrant вместо.
Теперь все по-другому.
С (стабильный) Докер для Mac и Windows и Docker Составить под рукой, получение Docker и работает легко и безболезненно. С Docker Compose вы можете сказать Docker именно то, что вы хотите, чтобы ваша среда разработки WordPress выглядеть, и он будет заботиться о нем.
Что такое Докер?
Docker — это технология, которая позволяет создавать изолированные контейнеры для ваших приложений и веб-сайтов. Эти контейнеры могут быть объединены и изменены в соответствии с потребностями ваших приложений. Docker использует технологию Linux Containers (LXC), где несколько изолированных сред могут делить одно и то же ядро Linux, что делает его очень легким по сравнению с чем-то вроде Vagrant.
Экосистема Docker построена вокруг контейнеров. В Docker Hub вы можете найти бесконечное количество контейнеров, которые создали другие люди, или вы можете создать свой собственный с помощью Dockerfile. При создании собственного, вы можете начать с нуля, используя базовое изображение Ubuntu или расширить чужой образ.
Вы можете делиться локальными каталогами с контейнерами и связывать сети, чтобы они могли общаться друг с другом – точно так же, как вы знаете это по другим технологиям виртуализации. Тем не менее, это где она становится сложной, которая приводит меня к Docker Compose:
Что такое Докер Сочините?
Докер Сочините то, что делает Докера доступным для смертных, как вы и я. Как следует из названия, Docker Compose является инструментом для составления контейнеров Docker. Это означает определение ваших услуг (контейнеров), настройку сети между ними, совместное использование локальных каталогов с ними и еще несколько вещей.
С Docker Compose вы создаете простой файл в корне вашего проекта, который описывает настройки, требуемые вашим приложением / веб-сайт. Для WordPress тему, которая может означать контейнер для запуска WordPress, контейнер для запуска MyS’L и контейнер для запуска Gulp или Grunt. Это можно очень легко определить в файле docker-compose.yml, который затем может быть передан членам вашей команды. Это означает, что теперь вы можете поделиться своей темой WordPress, в том числе изолированной среде WordPress, чтобы запустить его дюйма Ура для виртуализации!
Зачем использовать Docker?
Есть несколько причин, почему Docker является привлекательной технологией для меня. Вот наиболее важные требования, которые я предъюдляние к среде разработки и как Docker решает их:
- Чистый Mac: В идеальном мире, я предпочитаю не устанавливать ничего, связанного с моей средой разработки непосредственно на моем Mac. Я работаю над таким количеством различных проектов, что это становится неуправляемым. Когда одно работает, другое нет. Я также много путешествую, и если что-то случится с моим компьютером, я хочу, чтобы иметь возможность настроить новую машину в считанные минуты.
- Общие возможности: Я часто работаю в командах, поэтому обмен средой разработки с товарищами по команде имеет решающее значение. Это возможно с Vagrant, но это все еще очень сложно держать среды в синхронизации между командами.
- Легкий вес: Это важно, особенно когда в дороге. Попробуйте запустить несколько vagrant коробки по сравнению с несколькими контейнерами Docker и посмотреть, что я имею в виду.
- Расширяемый: Расширение Docker очень легко. Например, я мог бы расширить официальный контейнер WordPress и построить его с WP Pusher предустановленной, так как я (очевидно) всегда использовать его.
- Зеркало производства: Моя среда разработки должна быть как можно ближе к производству. С Docker это легко, так как Docker может быть использован в производстве, а также.
Моя среда разработки Docker
Это очень простая установка Docker я использую для разработки моего ПЛАгина WP Pusher: WordPress и контейнер MyS’L. Оба они используют официальные изображения Docker Hub, поэтому настроить его очень легко.
Мой docker-compose.yml
файл выглядит следующим образом:
В нем описаны две услуги: база данных MyS’L 5.7 и WordPress, работающая на PHP 5.6 и Apache. База данных использует том на локальной машине, поэтому данные будут сохраняться каждый раз, когда я выключаю контейнер. Мой текущий каталог (в данном случае плагин) установлен в wp-content/plugins
каталоге. Это позволяет мне работать на моем плагине в полностью изолированной среде WordPress — без установки ничего, кроме Docker, на моем Mac. Контейнер WordPress препровожжает порт 80 к моей местной машине, поэтому я могу достигнуть его как «localhost» в моем браузере.
Если вы хотите попробовать его для себя, и докер установлен на вашем компьютере, просто добавьте файл в плагин (или тему) и запустить:
$ docker-compose up -d
Для того, чтобы увидеть, какие контейнеры работают, просто запустите:
$ docker ps
Это очень простая установка, которую легко расширить и развить.
Я надеюсь, что этот пост сделал вам любопытно о Docker и WordPress. Спасибо за чтение вместе!
Ссылки
Оригинал: wptavern.com