WSO2pipe理registry,Docker和boot2docker

我在OSX 10.10上使用boot2docker来尝试运行WSO2治理registry。 我无法从主机(OSX)到达应用程序。

这是我的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应用程序的模式。

我用它来构build它:

 docker build -t="usmsnp/wso2greg" . 

和它一起运行

 docker run -i -t -P usmsnp/wso2greg 

一切似乎进行得很好 – 我得到尽可能的Wso2公告:

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

我有我的/ etc / hosts文件中的dockerhost别名boot2docker虚拟机 IP地址,当我导航到https://dockerhost:9443/carbon/使用curl我得到连接拒绝。

有任何想法吗?

更新:2014-11-28

当我使用tutum将图像部署到AWS时,它可以正常工作。 所以,任务完成了,我想。 但是我仍然为什么不起作用而感到困惑。 我明白,boot2docker需要一个不同的IP地址,但我用它。

当你使用docker run -P你告诉Docker在Docker守护进程主机上分配一个随机的端口 – 不要使用9443

所以在这种情况下,你需要运行docker ports <containerid>来找出它映射到的端口。

另外,您需要使用docker run -p 9443:9443 ...来告诉Docker将外部9443映射到容器的9443