На новой неделе. В последнее время для меня было много путешествий, и это не скоро остановится. Но у меня есть некоторое время, чтобы попробовать OpenShift Origin и запустить его в моей среде Windows. Есть блог-пост начального уровня, как все настроить пару дней назад. Теперь пришло время просто запустить на нем ванильное изображение Docker.
Предпосылки
Получите вашу установку Origin и работает . И не забудьте также установить двоичные файлы OpenShift локально. Команда OpenShift выпустила «все в одном» на отдельном, удобном для разработчиков и хорошо выглядящем сайте через пару дней после моего поста. Итак, все, что вам нужно запомнить, это этот адрес: http://www.openshift.org/vm/
Получите вашу среду OpenShift Up
Это единственная бродячая команда. Если это удалось, вы сможете получить доступ к локальной консоли администратора через браузер по адресу http: // localhost: 8443 /, а также войти в систему с помощью инструментов клиента из командной строки:
oc login http://localhost:8443
Используйте admin / admin в качестве имени пользователя / пароля.
Создайте проект и запустите WildFly
Первое, что нужно сделать, это создать новый проект OpenShift. Мы хотим отделить это немного от значения по умолчанию. В конце представьте себе пространство имен, в котором мы можем немного поиграть:
oc new-project wildfly-tests --description="WildFly and Docker on OpenShift v3" --display-name="WildFly Test Project"
OpenShift не предоставляет прямого доступа к демону Docker. Итак, вам нужно использовать инструмент командной строки oc для запуска образа. Некоторые (неподдерживаемые) изображения сообщества JBoss доступны и перечислены на http://www.jboss.org/docker/ . Я заинтересован в запуске последней WildFly 9 для этого теста.
oc new-app --docker-image=jboss/wildfly
Если вы посмотрите веб-консоль, то увидите, что развертывание запущено, и образ Docker загружен.
В зависимости от вашего соединения, это может занять некоторое время. Но когда он закончится, вы увидите зеленую полосу с надписью «Работает», а также показывает IP-адрес. Посмотрим, все ли прошло хорошо, а экземпляр WildFly запущен и работает. Нам нужно увидеть журналы для нашего модуля. Давайте перечислим их:
oc get pods
NAME READY STATUS RESTARTS AGE
wildfly-1-jzvsj 1/1 Running 0 11m
и посмотреть логи:
oc logs wildfly-1-jzvsj
Обратите внимание, что имя модуля в вашей среде, скорее всего, будет другим. Команда должна выводить журналы WildFly так, как вы к ним привыкли. На данный момент у нас работает стручок. Теперь нам нужно открыть порт этого модуля через службу для внешнего мира. Но прежде всего нам нужно решить, через какое доменное имя мы хотим его выставить. Добавьте / измените файл hosts с помощью следующей записи:
127.0.0.1 wildfly.openshiftdev.local
И выполните следующую команду, чтобы добавить внешний маршрут к сервису:
oc expose service wildfly --hostname=wildfly.openshiftdev.local
Перейдите на вкладку сервисов в консоли и увидите, что маршрут создан для сервиса.
Теперь осталось только изменить правила переадресации портов в консоли VirtualBox. Добавьте порт 80 от хоста к гостю.
Теперь вы можете получить доступ к экземпляру WildFly через h ttp: //wildfly.openshiftdev.local/ . Поздравляем!
Поиск неисправностей
Если вы используете что-то еще, кроме all-in-vm, например, vagrant-изображение fabric8 , вам потребуется изменить параметры безопасности в OpenShift . Ssh в экземпляр, войдите через командную строку oc и отредактируйте настройки безопасности:
oc edit scc restricted
Измените стратегию runAsUser.Type на RunAsAny. Это позволяет изображениям работать в качестве корневого UID, если в Dockerfile не указан пользователь USER.