访问Docker容器内的微服务?
我有一个在9000
端口的容器中运行的Dropwizard Microservice。
在Dockerfile中,我像这样暴露了端口
FROM maven:3.3-jdk-8-alpine # Install packages RUN apk add --no-cache curl tar bash wget EXPOSE 9000
然后我像这样运行容器
docker run --add-host="localhost:10.0.2.2" -t foo-service
但是,当我尝试访问它在localhost:9000
我没有得到在浏览器的响应。
我如何从Docker主机访问微服务?
Docker主机是Ubuntu 16.04
非常感谢
EXPOSE实际上不允许您从外部docker访问该端口。 这是允许其他容器访问该端口的一种方式
如果您希望能够从浏览器访问端口9000,则需要在您的运行命令中添加-p 9000:9000
。 这是一个端口映射,它将主机端口映射到容器上的端口。