2016-11-22 170 views
0

我有一個在端口9000的容器中運行的Dropwizard Microservice。訪問Docker容器內的微服務?

在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主機訪問Microservice?

泊塢主機的Ubuntu 16.04

非常感謝

+0

通常你應該運行你的容器,像'docker run -d -p 9000:9000 foo-service',但是如果我這樣做,我的容器就會停止運行,並且錯誤日誌顯示我:'[ERROR]沒有目標爲此版本指定。你必須指定一個有效的生命週期......' – lvthillo

+0

這對我有用,謝謝! – kaleeway

回答

1

EXPOSE實際上並沒有讓你從外面泊塢窗訪問端口。這是一種允許其他容器訪問該端口的方法

如果您希望能夠從瀏覽器訪問端口9000,則需要將-p 9000:9000添加到您的運行命令中。這是一個端口映射,它將主機端口映射到容器上的端口。