访问Docker容器内的微服务?

时间:2016-11-22 13:32:46

标签: docker dockerfile docker-networking

我在端口9000上的容器中运行了Dropwizard微服务。

在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

非常感谢

1 个答案:

答案 0 :(得分:1)

EXPOSE实际上不允许您从docker外部访问该端口。这是一种允许其他容器访问该端口的方法

如果您希望能够从浏览器访问端口9000,则需要在运行命令中添加-p 9000:9000。这是一个端口映射,它将主机端口映射到容器上的端口。