2014-11-26 3 views
1

Я использую boot2docker на OSX 10.10, чтобы попытаться запустить реестр управления WSO2. Я не могу связаться с приложением с главной машины (OSX).WSO2 Реестр управления, Docker и boot2docker

Вот мой Dockerfile:

FROM dockerfile/java:openjdk-7-jdk 
MAINTAINER Andrew Matthews 

COPY wso2greg-4.6.0.zip /opt/ 

RUN unzip /opt/wso2greg-4.6.0.zip -d /opt && \ 
    rm /opt/wso2greg-4.6.0.zip 

EXPOSE 9443 
CMD ["/opt/wso2greg-4.6.0/bin/wso2server.sh"] 

Это следует шаблон, используемый другими на docker.io для других WSO2 приложений.

Я построил его:

docker build -t="usmsnp/wso2greg" . 

и побежал с

docker run -i -t -P usmsnp/wso2greg 

все, кажется, чтобы продолжить красиво - я, насколько объявления WSO2:

Mgt Console URL : https://172.17.0.27:9443/carbon/ 

I имеют boot2docker vm IP-адрес с псевдонимом as dockerhost в мой файл/etc/hosts, и когда я перехожу к https://dockerhost:9443/carbon/ с помощью curl, я получаю отказ в соединении.

Любые идеи?

UPDATE: 2014-11-28

Когда я развернуть образ на AWS с помощью тутум, это работает. Итак, миссия выполнена, я полагаю. Но я все еще смущен тем, почему это не работает. Я понимаю, что boot2docker требует другого IP-адреса, но я использовал это.

ответ

0

Когда вы используете docker run -P, вы говорите, что Docker выделяет случайный порт на хосте docker daemon - не использовать 9443.

Так что в этом случае вам нужно запустить docker ports <containerid>, чтобы узнать, к какому порту он был сопоставлен.

Alternativly, вам нужно использовать docker run -p 9443:9443 ... сказать Docker для отображения внешнего 9443 к контейнеру 9443

+0

странно я попробовать '-p 9443: 9443', но это не сработало. Но я смог найти порт, который использовался с портами докеров. Благодарю. –

Смежные вопросы