我在OSX 10.10上使用boot2docker
来尝试运行WSO2治理注册表。我无法从主机(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应用程序的模式。
我用它构建了它:
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文件中的 boot2docker vm IP地址别名为dockerhost,当我使用curl导航到https://dockerhost:9443/carbon/
时,我拒绝连接。
有什么想法吗?
更新时间:2014-11-28
当我使用tutum将图像部署到AWS时,它可以正常工作。所以,我想,任务完成了。但是我仍然对它为什么不起作用感到困惑。我知道boot2docker需要一个不同的IP地址,但我用过它。
答案 0 :(得分:0)
当你使用docker run -P
时,你告诉Docker在Docker守护程序主机上分配一个随机端口 - 不要使用9443
。
因此,在这种情况下,您需要运行docker ports <containerid>
以找出其映射到的端口。
另外,您需要使用docker run -p 9443:9443 ...
告诉Docker将外部9443
映射到容器9443