Я собираюсь опубликовать частичный ответ, чтобы начать обсуждение в надежде получить некоторые полезные комментарии, чтобы заполнить пробелы или альтернативные ответы ...
Шаг 1: Установите и настройте boot2docker
Docker работает только на Linux. Таким образом, чтобы использовать Docker на нашем Mac, нам нужно установить его boot2docker, который будет запускать Docker на виртуальной машине Linux. Вы можете установить boot2dockerс помощью Homebrew :
brew install boot2docker
После завершения установки настройте и запустите boot2docker:
boot2docker init
boot2docker start
Затем нам нужно запустить команду, чтобы настроить некоторые переменные окружения, чтобы docker-compose узнала, как найти Docker внутри нашей boot2docker VM.
eval "$(boot2docker shellinit)"
Возможно, вы захотите добавить строки, которые экспортируют переменные, ~/.bash_profileчтобы вам не приходилось запускать команду каждый раз, когда вы открываете новое окно терминала.
Шаг 2: Установите docker-compose
Существует плагин Docker, который называется docker-compose(первоначально назывался fig), что позволяет очень легко определить отношения между вашими контейнерами Docker. Вы также можете установить его, используя Homebrew:
brew install docker-compose
Шаг 3: Создайте docker-compose.yml
В реестре Docker есть официальный образ WordPress Docker . Он содержит некоторую информацию о ручном запуске Docker со всеми флагами командной строки, необходимыми для того, чтобы все это работало. Насколько я могу сказать, вы можете пропустить все это, потому что мы будем использовать docker-compose. В каталоге, где вы будете работать над темой WordPress, создайте файл docker-compose.ymlсо следующим содержимым:
wordpress:
image: wordpress
links:
- db:mysql
ports:
- 8080:80
volumes:
- .:/var/www/html/wp-content/themes/my-theme-name
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: example
volumesКонфигурации связывают наши файлы тема в нашей текущей директории в новую директорию темы внутри контейнера Докера.
Шаг 4: Запустите контейнеры
Запустите, docker-compose upи вы настроите два Docker-контейнера («wordpress» и «db»), на которых выполняется установка WordPress.
Шаг 5: Откройте сайт в браузере
В нашей docker-compose.ymlконфигурации указано, что мы пересылаем порт 80 на порт 8080. Кроме того, boot2dockerего виртуальная машина запускается по определенному IP-адресу. Таким образом, чтобы выяснить URL, нам нужно использовать boot2docker ipкоманду:
open http://$(boot2docker ip):8080
Вопросов
Теперь, когда у меня есть готовые контейнеры, у меня есть несколько вопросов ...
Существует ли автоматический способ установки переменных среды boot2docker, кроме копирования и вставки экспортов, перечисленных в boot2docker shellinit?
Когда я работаю с приложением Rails, мне нравится использовать Pow, чтобы я мог получить доступ к приложению с помощью именованного .devдомена вместо работы с конкретными портами / IP-адресами. Как я могу настроить свою систему (или Pow) так, чтобы я мог получить доступ к хосту с помощью http://mysite.dev ?
Есть ли какие-то шаги, которые я пропустил? Или есть какие-то шаги, которые следует добавить в конец?