Я собираюсь опубликовать частичный ответ, чтобы начать обсуждение в надежде получить некоторые полезные комментарии, чтобы заполнить пробелы или альтернативные ответы ...
Шаг 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 ?
Есть ли какие-то шаги, которые я пропустил? Или есть какие-то шаги, которые следует добавить в конец?