2016-11-22 9 views
0

Ich habe einen Dropwizard Microservice in einem Container auf Port 9000 ausgeführt.Zugriff auf Microservice im Docker Container?

Im Dockerfile ausgesetzt ich den Port wie so

FROM maven:3.3-jdk-8-alpine 

# Install packages 
RUN apk add --no-cache curl tar bash wget 

EXPOSE 9000 

Dann lief ich den Behälter wie so

docker run --add-host="localhost:10.0.2.2" -t foo-service

Allerdings, wenn ich versuche, darauf zuzugreifen bei localhost:9000 ich nicht bekommen Antwort im Browser.

Wie kann ich vom Docker-Host auf den Microservice zugreifen?

Docker Host ist Ubuntu 16.04

Vielen Dank

+0

Normalerweise sollten Sie Ihren Container mit etwas wie 'docker run -d -p 9000: 9000 foo-service' laufen lassen, aber wenn ich dies tue, stoppt mein Container und die Fehlerprotokolle zeigen mir:' [ERROR] Es wurden keine Ziele gesetzt für diesen Build angegeben. Sie müssen einen gültigen Lebenszyklus angeben ... ' – lvthillo

+0

Das hat bei mir funktioniert, danke! – kaleeway

Antwort

1

SETZEN nicht wirklich erlauben Sie diesen Port von außen Docker zuzugreifen. Auf diese Weise können andere Container auf diesen Port zugreifen.

Wenn Sie in Ihrem Browser auf Port 9000 zugreifen möchten, müssen Sie -p 9000:9000 zu Ihrem run-Befehl hinzufügen. Dies ist ein Port-Mapping, das den Host-Computer-Port dem Port des Containers zuordnet.

Verwandte Themen