2017-05-16 8 views
0

Ausführen eines Jenkins Bild in meinem Behälter, der 9090 an den Host-Port gebunden istDocker Port-Bindung nicht wie erwartet funktioniert

sudo docker run -itd -p 9090:8080 -p 50000:50000 --name=myjenkins -t jenkins-custom /bin/bash 

Der Ausgang $docker port myjenkins

50000/tcp -> 0.0.0.0:50000 
8080/tcp -> 0.0.0.0:9090 

des Laufens ich auch die Bindung sehen aus der Hostperspektive ps -Af | grep proxy

root  15314 15194 0 17:52 ?  00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 50000 -container-ip 172.17.0.2 -container-port 50000 
root  15325 15194 0 17:52 ?  00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9090 -container-ip 172.17.0.2 -container-port 8080 

Nach st arting mein jenkins server ich versuche, eine verbindung zum container mit der host-ip und dem weitergeleiteten port (9090).

Ich bin neu in Docker so haben etwas verpasst aber würde schätzen Vorschläge

Update: einschließlich dockerfile

From local-artifiactory/jenkinsci/jenkins:2.9 
ENV java_opts="-Xmx8192m" 
+0

Fügen Sie Ihre Dockerfile zu Ihrer Frage hinzu. – Cyrus

Antwort

0

Das Problem ist, dass kein Dienst in diesen Häfen läuft. Der einzige laufende Prozess ist/bin/bash (wie am Ende der Zeile angegeben). Sie müssen Jenkins im Container starten.

+0

Wenn ich/bin/bash aus dem docker run Befehl entferne, habe ich immer noch das selbe Problem. Sobald der Befehl run abgeschlossen ist, benutze ich docker exec, um den Jenkins-Krieg zu starten. – cduggan

+0

Verwenden Sie den Befehl zum Starten der Jenkins als 'CMD' in Dockerfile: https://docs.docker.com/engine/reference/builder/#cmd –

Verwandte Themen