Rate this post

WordPress — популярный инструмент с открытым исходным кодом для гибкого развертывания блогов. В этой статье мы предлагаем пошаговое руководство по деплою WordPress в vSphere Integrated Containers интсрумента devops администратора. Это предполагает создание двух контейнеров: один работает с базой данных mysql, а другой — с веб-сервером WordPress. Мы предлагаем три варианта:n

    n

  1. Деплой с помощью команд-докеров (docker commands) в интегрированном контейнере vSphere
  2. Деплой с использованием компоновщика докеров (docker-compose) в интегрированных контейнерах vSphere
  3. Деплой с использованием интегрированных контейнеров 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 ниже:установка WP в докере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. Не забудьте установить переменные ОКРУЖАЮЩЕЙ СРЕДЫ. Нажмите «Предоставление», чтобы запустить контейнер.nnустановка контейнераnnТеперь вы должны увидеть контейнер адмирала и контейнер mysql в пользовательском интерфейсе Admiral. Запишите фактическое имя контейнера в контейнере mysql (Admiral добавляет суффикс к указанному вами имени в качестве фактического имени контейнера).nnнастройка контейнера докерnnВ-третьих, разверните контейнер wordpress, следуя тому же принципу, что и на втором этапе. Обратите внимание, что переменная среды WORDPRESS_DB_HOST должна быть установлена в mysql_container_name:3306.nnдеплой worpress в докерnnНаконец, откройте браузер и перейдите http://VCH_IP:8080. Вы должны снова увидеть стартовую страницу WordPress.nnКроме того, вы можете также использовать шаблон Admiral, который работает аналогично составу докера, чтобы развернуть приложение WordPress. Просто перейдите в «Шаблоны» и выберите значок «Импорт шаблона» или «Docker Compose». Затем скопируйте и вставьте содержимое нашего файла docker-compose.yml в текстовое поле. Нажмите кнопку «Импорт» в правом нижнем углу, а затем выберите «Обеспечение» на следующей странице. Приложение WordPress готово к доступу после того, как статус Запроса на предоставление услуг будет завершен.nnдеплой dockernnСкачать vSphere Integrated Containersn

Услуги по установке, настройке и поддержки контейнеров, [email protected]