Docker, wie Sie eine Datei HINZUFÜGEN, ohne dass es zu einem Bild?

Habe ich eine ~300Mb Zip lokale Datei, dass ich ein docker image. Der nächste Zustand extrahiert dann das Bild.

Das problem ist, dass die ADD-Anweisung führt einen commit, der die Ergebnisse in eine neue Datei-system-Schicht macht die Bild ~300Mb größer, als es sein muss.

ADD /files/apache-stratos.zip /opt/apache-stratos.zip
RUN unzip -q apache-stratos.zip && \
    rm apache-stratos.zip && \
    mv apache-stratos-* apache-stratos

Frage: gibt es einen work-around, lokale Dateien, ohne dass ein commit?

Einer option ist, um einen einfachen web-server (z.B. python -m SimpleHTTPServer), bevor Sie das Andockfenster bauen, und dann mit wget um die Datei abzurufen, aber das scheint ein bisschen chaotisch:

RUN wget http://localhost:8000/apache-stratos.zip && \
    unzip -q apache-stratos.zip && \
    rm apache-stratos.zip && \
    mv apache-stratos-* apache-stratos

Weitere option ist, entpacken Sie die Zip-Datei in container-start-up statt zu bauen, aber ich würde lieber halten Sie die start-up so schnell wie möglich.

InformationsquelleAutor Chris Snow | 2014-08-30
Schreibe einen Kommentar