Comment ajouter un fichier à une image dans le Dockerfile sans l'aide de l'AJOUT ou de la COPIE de la directive

J'ai besoin de le contenu d'un grand *.zip fichier (5 go) dans mon Docker conteneur afin de compiler un programme. Le *.zip fichier se trouve sur ma machine locale. La stratégie pour ce serait:

COPY program.zip /tmp/
RUN cd /tmp \
&& unzip program.zip \
&& make

Après avoir fait cela, je voudrais supprimer le répertoire dézippé et l'original *.zip fichier parce qu'ils ne sont pas nécessaire, pas plus. Le problème est que le COPY (et aussi le ADD directive) permettra d'ajouter un calque à l'image qui contiendra le fichier program.zip qui est problématique, comme peut l'image sera d'au moins 5 go de gros. Est-il possible d'ajouter un fichier dans un conteneur sans l'aide de COPY ou ADD directive? wget ne fonctionnera pas comme mentionné *.zip fichier sur ma machine locale et curl file://localhost/home/user/program.zip -o /tmp/program.zip ne fonctionnera pas non plus.

  • Ne pouvez-vous pas simplement décompresser au préalable sur votre machine locale? Puis ajouter les trucs dont vous avez besoin?
  • Oui, mais je veux aussi supprimer le dossier décompressé comme il sera encore plus de 5 go. Mais j'ai trouvé un moyen pour faire ce que je veux. La réponse est sur son chemin.
  • et un make.sh fichier qui ne le construire et supprime le fichier?
  • Une couche avec les *.zip sera toujours une partie de l'image. Pourriez vous m'expliquer comment un script shell aiderait?
InformationsquelleAutor lord.garbage | 2014-11-01