2017-10-31 4 views
1

Ich habe eine Dockerfile, in dem ich etwas kompilieren. Ich möchte die binäre ausführbare Datei zurück in das Verzeichnis eines Hosts legen.Wie COPY innerhalb einer Dockerfile zu einem Host-Rechner direkt

Hinweis. Ich weiß, dass dies von docker cp <container ID>:path host_path getan werden kann, aber das ist nicht das, worum ich frage.

Ich möchte COPY Befehl in der Dockerfile hinzufügen, so tut es das automatisch. Ist es möglich?

+0

Wenn dies möglich wäre, könnten Sie leicht jeden hacken, der beim Erstellen einer Dockerdatei getäuscht werden könnte (schreiben Sie an den Host/etc/passwd usw.). Derzeit gilt das Erstellen einer Dockerdatei als sicher, außer für einen DoS-Angriff. – BMitch

Antwort

1

Der Docker-Build-Prozess bietet nicht die Möglichkeit, Dateien aus einem Bild zu kopieren, ohne einen Zwischenschritt zu verwenden. Dies würde etwas externes benötigen, um den Build-Workflow mit zusätzlichen Schritten wie docker cp zu verwalten, wie Sie vorgeschlagen haben.

Rocker kann von Interesse sein, die ein eigenes Build-System über die Docker-API mit einem erweiterten Satz von Dockers Build-Befehle implementiert. Eine Reihe nützlicher Funktionen, die Benutzer angefordert und Docker nicht hinzufügen konnten, wurden hier hinzugefügt.

Features umfasst MOUNTing Volumes vom Host während des Builds. EXPORT/IMPORT von Dateien aus einem Build. Mehrere FROMs, eine für den Container "build" und eine weitere für den Container "run".

Verwandte Themen