2016-10-04 6 views
0

ich die Teamcity-Agent Bild aus gezogen haben:Extend Docker Bild Bestehende

https://hub.docker.com/r/jetbrains/teamcity-agent/

ich Subversion und Knoten auf dieses Bildes installiert haben und verpflichtet sie zu Docker Hub zurück und bearbeite die vorhandene Bild -

https://hub.docker.com/r/antonrand/teamcity-agent/

Nun möchte Ich mag das Bild erweitern - einfach durch Hinzufügen von anderen Mount-Punkt. Das ist mein Dockerfile:

FROM antonrand/teamcity-agent 

# Create build directory 
RUN mkdir -p /usr/src/test 

VOLUME /usr/src/test 

WORKDIR /usr/src/test 

Wenn ich dies nichts laufen geschieht, wie kann ich Docker sagen die CMD-Befehl auszuführen, die bereits in der offiziellen Bild aufgebaut wird? Sie haben ihre Dockerfile nicht veröffentlicht, also weiß ich nicht, was ich laufen soll.

Vielen Dank für die Hilfe :)

Antwort

1

Sie haben ihre Dockerfile veröffentlicht, aber man kann es Reverse Engineering mit https://github.com/CenturyLinkLabs/dockerfile-from-image

Zumindest ein docker history teamcity-agent sollte es zeigen

+0

I '$ Docker Geschichte jetbrains/Teamcity-Agent erhalten | grep CMD vor 2 Wochen/bin/sh -C# (nop) CMD ["/run-services.sh"] 0 B vor 7 Wochen/bin/sh -C# (nop) CMD ["java" "-version"] 0 B vor 10 Wochen/bin/sh -C# (nop) CMD ["/ bin/bash"] 0 B ' – user2915097

+1

Ich denke nur diese Zeile ist relevant' CMD ["/ run-services .sh "]' – user2915097

+0

Danke, es fehlt nur die Zeile CMD ["/run-services.sh"]. –

2

weder Ihrer Docker Ergänzungen verändert die CMD oder ENTRYPOINT des Bildes Unter der Annahme, sollten Sie es auf die gleiche Weise wie das Original Bild Teamcity ausführen können. Der Befehl wird in ihrer Dokumentation auf DockerHub gezeigt:

docker run -it -e SERVER_URL="<url to TeamCity server>" \ 
-v <path to agent config folder>:/data/teamcity_agent/conf \  
<new-image-name> 

wo new-image-Name ist das neue Docker Bild, das Sie mit Ihrem zweiten Dockerfile erstellt.