WordPress — популярный инструмент с открытым исходным кодом для гибкого развертывания блогов. В этой статье мы предлагаем пошаговое руководство по деплою WordPress в vSphere Integrated Containers интсрумента devops администратора. Это предполагает создание двух контейнеров: один работает с базой данных mysql, а другой — с веб-сервером WordPress. Мы предлагаем три варианта:n
- n
- Деплой с помощью команд-докеров (docker commands) в интегрированном контейнере vSphere
- Деплой с использованием компоновщика докеров (docker-compose) в интегрированных контейнерах vSphere
- Деплой с использованием интегрированных контейнеров Admiral и vSphere
n
Деплой с использованием команд докера в интегрированных контейнерах vSphere
Во-первых, нам нужно установить хост виртуального контейнера (VCH) с хранилищем томов, который используется для сохранения данных БД. В следующем примере я создаю VCH с тестом хранилища томов с тегом default в datastore1:n
vic-machine-linux create --name=vch-test --volume-store=datastore1/test:default --target=root:[email protected] --no-tlsverify --thumbprint=… --no-tls
Далее деплоим контейнер докер с базой данных MySQLn
docker -H VCH_IP:VCH_PORT run -d -e MYSQL_ROOT_PASSWORD=wordpress -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=wordpress -v mysql_data:/var/lib/mysql --name=mysql mysql:5.6
Замените VCH_IP и VCH_PORT фактическим IP-адресом и портом, используемым VCH, который можно найти в выводе команды указанного выше файла vic-machine-linux. Здесь -v mysql_data: /var/lib/myql монтирует том mysql_data в каталог /var/lib/mysql в контейнере mysql. Так как в VCH нет такого тома mysql_data, движок VIC создает том с тем же именем в тесте хранилища по умолчанию.nnВ-третьих, мы развертываем контейнер сервера wordpress:n
docker -H VCH_IP:VCH_PORT run -d -p 8080:80 -e WORDPRESS_DB_HOST=mysql:3306 -e WORDPRESS_DB_PASSWORD=wordpress --name wordpress wordpress:latest
Теперь, если вы запустите docker -H VCH_IP: VCH_PORT ps, вы должны увидеть оба работающих контейнера. Откройте браузер и выполните http://VCH_IP:8080. Вы должны увидеть знаменитую стартовую страницу WordPress ниже:nnКроме того, если вы подключитесь к хосту ESXi или vCenter, на котором размещены VCH и хранилище томов, вы сможете найти том данных mysql_data на datastore1/test:n
Развертывание с использованием компоновщика докеров в интегрированных контейнерах vSphere
Использование docker-compose в интегрированных контейнерах vSphere так же просто, как и докеров-контейнеров. Во-первых, вам нужно создать файл docker-compose.yml следующим образом:n
version: '2'nnservices:n db:n image: mysql:5.6n environment:n MYSQL_ROOT_PASSWORD: wordpressn MYSQL_DATABASE: wordpressn MYSQL_USER: wordpressn MYSQL_PASSWORD: wordpressnn wordpress:n depends_on:n - dbn links:n - dbn image: wordpress:latestn ports:n - "8080:80"n environment:n WORDPRESS_DB_HOST: db:3306n WORDPRESS_DB_PASSWORD: wordpressn WORDPRESS_DB_NAME: wordpress
Затем просто запуститеn
docker-compose –H VCH_IP:VCH_PORT up –d
Откройте браузер и перейдите http://VCH_IP:8080. Вы должны увидеть стартовую страницу WordPress. Обратите внимание, что с VIC-движка 0.8, опция томов еще не поддерживает компоновку докера, поэтому мы сохраняем только данные db в контейнере db вместо постоянного хранилища. Эта функция будет включена в будущий выпуск.n
Деплой с использованием интегрированных контейнеров Admiral и vSphere
Admiral — это портал управления, через который вы можете легко разворачивать контейнеры с помощью пользовательского интерфейса Admiral или шаблона (аналогично файлу docker-compose.yml, используемому компоновщиком docker-compose). В этом примере мы сосредоточимся на развертывании WordPress через пользовательский интерфейс Admiral.nnВо-первых, нам нужно развернуть контейнер, который запускает службу Admiral:n
docker –H VCH_IP:VCH_PORT run -d -p 8282:8282 --name admiral vmware/admiral
Перейдите на веб-страницу http://VCH_IP:8282 и добавьте хост VCH к Admiral на основе этих инструкций.nnВо-вторых, создайте контейнер mysql, выбрав «Ресурсы -> Контейнеры -> Создать контейнер» и введите параметры команды докера, которые вы использовали ранее при развертывании WordPress на VIC. Не забудьте установить переменные ОКРУЖАЮЩЕЙ СРЕДЫ. Нажмите «Предоставление», чтобы запустить контейнер.nnnnТеперь вы должны увидеть контейнер адмирала и контейнер mysql в пользовательском интерфейсе Admiral. Запишите фактическое имя контейнера в контейнере mysql (Admiral добавляет суффикс к указанному вами имени в качестве фактического имени контейнера).nnnnВ-третьих, разверните контейнер wordpress, следуя тому же принципу, что и на втором этапе. Обратите внимание, что переменная среды WORDPRESS_DB_HOST должна быть установлена в mysql_container_name:3306.nnnnНаконец, откройте браузер и перейдите http://VCH_IP:8080. Вы должны снова увидеть стартовую страницу WordPress.nnКроме того, вы можете также использовать шаблон Admiral, который работает аналогично составу докера, чтобы развернуть приложение WordPress. Просто перейдите в «Шаблоны» и выберите значок «Импорт шаблона» или «Docker Compose». Затем скопируйте и вставьте содержимое нашего файла docker-compose.yml в текстовое поле. Нажмите кнопку «Импорт» в правом нижнем углу, а затем выберите «Обеспечение» на следующей странице. Приложение WordPress готово к доступу после того, как статус Запроса на предоставление услуг будет завершен.nnnnСкачать vSphere Integrated Containersn
Услуги по установке, настройке и поддержки контейнеров, [email protected]