Я начинаю с Docker, и я все еще новичок в профессиональной практике разработки WordPress. Я хотел бы настроить среду разработки Docker (на моем Mac), чтобы я мог заниматься разработкой собственной темы WordPress.
Предполагая, что вы делали это раньше и уже используете Docker, как вы это настроили? Как выглядят ваш Dockerfile и docker-compose.yml? Я уверен, что это было сделано раньше. Я не удивлюсь, если уже есть однострочная команда, которая может настроить это для вас.
Обновление: я сузил эту тему до следующего вопроса:
Ответы:
Я собираюсь опубликовать частичный ответ, чтобы начать обсуждение в надежде получить некоторые полезные комментарии, чтобы заполнить пробелы или альтернативные ответы ...
Шаг 1: Установите и настройте boot2docker
Docker работает только на Linux. Таким образом, чтобы использовать Docker на нашем Mac, нам нужно установить его
boot2docker
, который будет запускать Docker на виртуальной машине Linux. Вы можете установитьboot2docker
с помощью Homebrew :После завершения установки настройте и запустите boot2docker:
Затем нам нужно запустить команду, чтобы настроить некоторые переменные окружения, чтобы docker-compose узнала, как найти Docker внутри нашей boot2docker VM.
Возможно, вы захотите добавить строки, которые экспортируют переменные,
~/.bash_profile
чтобы вам не приходилось запускать команду каждый раз, когда вы открываете новое окно терминала.Шаг 2: Установите docker-compose
Существует плагин Docker, который называется
docker-compose
(первоначально называлсяfig
), что позволяет очень легко определить отношения между вашими контейнерами Docker. Вы также можете установить его, используя Homebrew:Шаг 3: Создайте docker-compose.yml
В реестре Docker есть официальный образ WordPress Docker . Он содержит некоторую информацию о ручном запуске Docker со всеми флагами командной строки, необходимыми для того, чтобы все это работало. Насколько я могу сказать, вы можете пропустить все это, потому что мы будем использовать
docker-compose
. В каталоге, где вы будете работать над темой WordPress, создайте файлdocker-compose.yml
со следующим содержимым:volumes
Конфигурации связывают наши файлы тема в нашей текущей директории в новую директорию темы внутри контейнера Докера.Шаг 4: Запустите контейнеры
Запустите,
docker-compose up
и вы настроите два Docker-контейнера («wordpress» и «db»), на которых выполняется установка WordPress.Шаг 5: Откройте сайт в браузере
В нашей
docker-compose.yml
конфигурации указано, что мы пересылаем порт 80 на порт 8080. Кроме того,boot2docker
его виртуальная машина запускается по определенному IP-адресу. Таким образом, чтобы выяснить URL, нам нужно использоватьboot2docker ip
команду:Вопросов
Теперь, когда у меня есть готовые контейнеры, у меня есть несколько вопросов ...
Существует ли автоматический способ установки переменных среды boot2docker, кроме копирования и вставки экспортов, перечисленных в
boot2docker shellinit
?Когда я работаю с приложением Rails, мне нравится использовать Pow, чтобы я мог получить доступ к приложению с помощью именованного
.dev
домена вместо работы с конкретными портами / IP-адресами. Как я могу настроить свою систему (или Pow) так, чтобы я мог получить доступ к хосту с помощью http://mysite.dev ?Есть ли какие-то шаги, которые я пропустил? Или есть какие-то шаги, которые следует добавить в конец?
источник
Моим предпочтительным решением для этого является использование Composer в сочетании с Docker. Docker управляет средой, Composer обрабатывает зависимости, которые включают темы, плагины и любые другие пакеты, которые могут мне понадобиться.
Вот моя собственная локальная настройка Docker:
https://github.com/alexmacarthur/wp-skateboard
А вот ветка, которая использует Composer для загрузки темы _s и размещения ее в моем
themes
каталоге:https://github.com/alexmacarthur/wp-skateboard/tree/starter-theme-underscores
источник