Как развернуть Wordpress с верфи на Ubuntu 14.04

Вступление

Shipyard - инструмент управления серверами Docker. Docker - это передовая часть программного обеспечения, используемого для контейнеризации. Верфь позволяет вам видеть, какие контейнеры работают на каждом из ваших серверов, чтобы запускать или останавливать существующие контейнеры или создавать новые.

После настройки Shipyard на своем сервере вы можете получить к нему доступ через графический интерфейс, интерфейс командной строки или API. На верфи отсутствуют некоторые расширенные функции других Docker: orchestration, но его очень просто установить, его можно использовать, и вы можете управлять и разместить его самостоятельно.

В этом руководстве рассказывается, как установить Shipyard, подключить его к серверам Docker и использовать его для создания и запуска новых контейнеров. В итоге на вашем сервере должна быть запущена верфь для управления хостами Docker.

Предпосылки

Чтобы следовать этому уроку, вам понадобится:

  • Одна капля Ubuntu 14.04 с изображением Docker 1.5.0.

Опцию образа Docker 1.5.0 можно найти на странице создания капли на вкладке * Приложения * в разделе * Выбор изображения *. Вы также можете установить Docker на существующую Droplet, следуя thisutorial.

  • Примечание *: пакет + docker.io + из стандартного репозитория для Ubuntu 14.04 очень старый (версия 0.9.1). Чтобы использовать Верфь, вам необходимо установить самую последнюю версию Docker одним из перечисленных выше способов.

Шаг 1 - Установка верфи

На этом этапе мы установим верфь. Все команды в этом руководстве потребуют привилегий суперпользователя, поэтому проще всего войти в свою Droplet от имени пользователя root. Если вы вошли в систему как пользователь без полномочий root, вы можете запустить + sudo su, чтобы переключиться на пользователя root.

После запуска Docker довольно легко установить Shipyard, поскольку он поставляется в виде образов Docker. Все, что вам нужно сделать, это извлечь изображения из реестра Docker и запустить необходимые контейнеры. Сначала мы создадим data volume container для хранения данных базы данных Верфи. Этот контейнер сам по себе ничего не сделает; это удобный ярлык для размещения всех данных Верфи.

docker create --name shipyard-rethinkdb-data shipyard/rethinkdb

Теперь, когда контейнер объема данных создан, мы можем запустить сервер базы данных для Shipyard и связать их вместе.

docker run -it -d --name shipyard-rethinkdb --restart=always --volumes-from shipyard-rethinkdb-data -p 127.0.0.1:49153:8080 -p 127.0.0.1:49154:28015 -p 127.0.0.1:29015:29015 shipyard/rethinkdb

Это запустит контейнер с запущенной распределенной базой данных RethinkDB, и обеспечивает доступ к нему только локально на самом сервере. Если вы попытаетесь посетить + http: //: 49153 + в своем браузере, вы ничего не увидите.

Теперь, когда база данных верфи работает, мы можем запустить сам верфь, запустив еще один контейнер и связав его с базой данных.

docker run -it -p 8080:8080 -d --restart=always --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard

Теперь мы можем получить доступ к нашему работающему экземпляру Shipyard, используя порт + 8080 +.

Шаг 2 - Доступ к верфи

Теперь, когда верфь работает, нам нужно получить к ней доступ. Доступ к верфи возможен через GUI, интерфейс командной строки (CLI) или API. Начнем с доступа к CLI.

Доступ к верфи с помощью CLI

Мы можем получить доступ к CLI верфи, запустив другой контейнер.

docker run -ti --rm shipyard/shipyard-cli

Флаг + -ti + гарантирует, что контейнер является интерактивным, а флаг + - rm + делает этот контейнер одноразовым, что означает, что он будет автоматически удален, как только мы с ним покончим.

Теперь вы должны увидеть командную строку Shipyard CLI, которая выглядит следующим образом: + shipyard cli> +. Чтобы получить список доступных команд, вы можете ввести + справка верфи +.

Эта командная строка еще не была подключена к экземпляру верфи, который мы настроили на шаге 1, поэтому сначала подключим его:

shipyard login

Он запросит у вас URL. Введите + http: //: 8080 +. Далее вам будет предложено ввести имя пользователя и пароль. Имя пользователя и пароль установлены по умолчанию; введите + admin + для имени пользователя и + shipyard + для пароля. Затем вы вернетесь к приглашению Верфи.

Теперь вы вошли в свой экземпляр Shipyard как * admin *. Оставление пароля по умолчанию на месте представляет собой серьезную угрозу безопасности, поэтому давайте изменим его.

shipyard change-password

Вам нужно будет выбрать и подтвердить свой новый пароль. Убедитесь, что ваш новый пароль безопасен, и вы сможете его запомнить. Теперь вы можете нажать * CTRL + D *, чтобы выйти из CLI верфи.

Поскольку командная строка Верфи должна каждый раз подключаться к вашему экземпляру Верфи, вы можете запустить командную строку Верфи в любой системе, способной запускать контейнеры Docker, и подключить ее к экземпляру Верфи, работающему на вашем сервере.

Доступ к верфи с помощью графического интерфейса

Далее мы рассмотрим графический интерфейс верфи. Чтобы получить к нему доступ, откройте + http: //: 8080 + в вашем браузере. Это должно показать вам экран входа в систему. Используйте имя пользователя + admin + и новый пароль, который вы выбрали.

Как только вы войдете в систему, верфь отобразит вкладку * Двигатели * и предупредит вас, что в вашем кластере Верфи пока нет двигателей. Engine - хост Docker, способный запускать контейнеры. Здесь мы добавим каждый сервер Docker, которым вы хотите управлять с верфи.

Шаг 3 - Добавление движка

Капля, на которой мы только что развернули верфь, также является хостом Docker, поэтому мы сможем управлять им с верфи. Прежде чем мы сможем это сделать; однако нам нужно добавить сервер к верфи в качестве движка.

По умолчанию Docker настроен на прослушивание Unix-сокета + / var / run / docker.sock +, но к этому сокету нельзя получить доступ из нашего экземпляра Shipyard. Нам нужно настроить Docker на прослушивание запросов через порт. Для этого отредактируйте файл конфигурации Docker, используя ваш любимый текстовый редактор. (Здесь мы используем + nano +.)

nano /etc/default/docker

В конце добавьте эту строку:

DOCKER_OPTS="-H tcp://:4243 -H unix:///var/run/docker.sock"

Это гарантирует, что Docker принимает соединения через порт + 4243 +, но только с самого вашего сервера. Теперь перезапустите Docker, чтобы загрузить новую конфигурацию:

service docker restart

Это также перезапустит ваши контейнеры верфи. Так как мы запустили контейнеры с + - restart = всегда +, они должны вернуться автоматически. Вы можете проверить это, запустив:

docker ps

Если по какой-либо причине контейнеры верфи не запустились, вы можете перезапустить их вручную, запустив + docker start shipyard-rethinkdb shipyard.

Теперь, когда ваш хост Docker правильно настроен, мы можем добавить его в Shipyard в качестве движка. Получите доступ к графическому интерфейсу верфи и перейдите на вкладку * Двигатели *. Нажмите на кнопку * + Добавить *. Это будет выглядеть так:

image: https: //assets.digitalocean.com/articles/wordpress_shipyard/1.png [Экран «Добавить движок» содержит поля ввода, такие как «имя» и «метки»]

Добавьте следующие поля.

  • * Имя *: используйте имя, которое позволит вам распознать движок в качестве текущей капли, например имя хоста вашей капли.

  • * Метки *: метки, которые вы добавляете в свой движок, позволят вам контролировать, какие контейнеры могут на нем работать. В зависимости от того, для чего вы хотите использовать эту каплю, вы можете использовать метки, такие как производство или тестирование.

  • * Адрес *: используйте только что открытый порт Docker: + http: //: 4243 +

Теперь нажмите кнопку * Добавить * внизу. Верфь теперь подключится к вашему хосту Docker, проверит соединение и добавит его в качестве движка. Как только это будет сделано, вы будете перенаправлены обратно на вкладку * Двигатели *. Сначала двигатель будет указан как отключенный. Подождите секунду или две и обновите страницу, и теперь вы сможете увидеть информацию о вашем хосте Docker.

Шаг 4 - Развертывание контейнеров с использованием верфи

Теперь, когда мы добавили хост Docker в Shipyard в качестве движка, мы можем использовать Shipyard для запуска, остановки и развертывания контейнеров.

Войдите в GUI верфи и посмотрите на вкладку * Containers *. В этом списке перечислены все контейнеры, запущенные на каждом хосте Docker, который вы добавили на верфь. Если вы ничего не сделали, на этой вкладке должны отображаться как минимум три контейнера, два из которых запущены:

image: https: //assets.digitalocean.com/articles/wordpress_shipyard/2.png [вкладка «Контейнеры» должна содержать «Верфь», «Верфь-переосмысление» и «Верфь-переосмысление-данные»]

Давайте попробуем развернуть новый блог Wordpress. Используя официальные образы репо Docker, нам нужно будет развернуть контейнер MySQL и Wordpress.

Нажмите кнопку * + Deploy *. Следующий экран позволит нам настроить контейнер для развертывания. Введите информацию в поля, указанные ниже.

image: https: //assets.digitalocean.com/articles/wordpress_shipyard/3.png [Поля: Изображение, Имя контейнера]

  • * Изображение *: введите + mariadb +. (MariaDB - это форк MySQL с открытым исходным кодом.)

  • * Имя контейнера *: Вы можете использовать все, что захотите, например, + MySQL-test.

  • * Environment *: описание изображения скажет вам, какие переменные среды вы можете использовать. В этом случае используйте + MYSQL_ROOT_PASSWORD = 6f23b328e7 +.

image: https: //assets.digitalocean.com/articles/wordpress_shipyard/4.png [Поля: порты, тип, политика перезапуска, метки]

  • * Тип *: это определяет, как контейнер должен быть развернут на нескольких движках. В этом случае используйте + service +.

  • * Метки *: это будет использоваться для сопоставления контейнеров с двигателями. Просто отметьте одну из меток, которые вы назначили своему движку.

  • * Политика перезапуска *: определяет, должен ли контейнер автоматически перезапускаться после ошибки или перезагрузки Docker. В этом случае оставьте его на + no +.

Теперь нажмите * Deploy *. Для запуска контейнера потребуется некоторое время. Вы должны быть перенаправлены обратно в список контейнеров, в котором теперь должен быть контейнер с именем + mysql-test + (или любым другим именем, которое вы использовали).

Вы только что развернули свой первый контейнер Docker с помощью верфи!

Теперь мы собираемся использовать тот же процесс для развертывания контейнера WordPress, связанного с нашим контейнером MySQL. Нажмите кнопку * + Deploy * еще раз и заполните следующее:

  • * Image *: + wordpress

  • * Имя *: + wordpress-test +

  • * Ссылки *: +: mysql

  • * Введите *: + service +

  • * Метки *: отметьте те, которые вы использовали для своего движка.

  • * Политика перезапуска *: оставьте это на + no +.

Есть еще одна вещь, которую нужно сделать: мы хотим иметь возможность получать доступ к веб-контенту этого WordPress-контейнера откуда угодно, поэтому нам нужно предоставить его порт + 80 +. Для этого нажмите на знак плюс рядом с заголовком * Порт *.

изображение: https: //assets.digitalocean.com/articles/wordpress_shipyard/5.png [сопоставить порт 1234 tcp с портом 80 контейнера]

Выберите * TCP * в разделе * Протокол *, оставьте * IP * пустым, введите * 1234 * как * Порт * и * 80 * как * Контейнерный порт *.

Теперь вы можете нажать * Deploy *. Еще раз пройдет некоторое время, прежде чем вы будете перенаправлены обратно в список контейнеров. В списке теперь также должен отображаться контейнер с именем + wordpress-test +. Нажмите на ссылку рядом с ним, чтобы увидеть более подробную информацию.

изображение: https: //assets.digitalocean.com/articles/wordpress_shipyard/6.png [подробный экран контейнера на верфи]

В разделе * Ports * вы увидите, что порт контейнера WordPress + 80 + теперь публикуется на порт вашего сервера + 1234 +. Верфь помогает сделать этот список интерактивной ссылкой, которую вы можете использовать, чтобы перейти на опубликованный адрес.

Нажмите на эту ссылку. Это приведет вас к мастеру установки WordPress. Заполнив поля на этой странице, вы сможете войти в свой новый блог WordPress и увидеть его как веб-сайт.

Заключение

Теперь вы успешно использовали Shipyard для развертывания реального приложения на вашем хосте Docker!

У вас есть верфь и работает на вашем сервере. Вы также должны иметь возможность настроить дополнительные серверы с помощью Docker и подключить их к своему экземпляру Shipyard для управления. Вы также узнали, как подключиться к своему экземпляру Shipyard с помощью интерфейса командной строки и графического интерфейса, и узнали, как развертывать новые контейнеры на хосте Docker с помощью графического интерфейса.

Теперь вы можете попробовать любое из тысяч веб-приложений, доступных в реестре Docker. Например, вы можете развернуть контейнер Nginx для размещения вашего нового блога WordPress по более удобочитаемому URL-адресу, как описано в https://www.digitalocean.com/community/tutorials/docker-explained-how-to-containerize-and-use -nginx-as-a-proxy [это руководство].

Related