J'essaie de copier un certain nombre de fichiers et de dossiers dans une image Docker à partir de mon hôte local.
Les fichiers sont comme ceci:
folder1
file1
file2
folder2
file1
file2
J'essaie de faire la copie comme ceci:
COPY files/* /files/
Cependant, tous les fichiers sont placés dans / files / existe-t-il un moyen dans Docker de conserver la structure du sous-répertoire ainsi que de copier les fichiers dans leurs répertoires?
copy
docker
dockerfile
user1220022
la source
la source
Réponses:
Supprimer l'étoile de COPY, avec ce Dockerfile:
La structure est là:
la source
COPY files/*1 /files/
?RUN ls -la /files/*
directement depuis la sortie de la console dedocker build
. Je suis donc allé directement au conteneur ssh pour le fairels
directement sur l'hôte, avecdocker exec -it <container name> /bin/bash
Vous pouvez également utiliser un "." au lieu de *, car cela prendra tous les fichiers du répertoire de travail, incluez les dossiers et sous-dossiers:
la source
Pour fusionner un répertoire local dans un répertoire d'une image, procédez comme suit. Il ne supprimera pas les fichiers déjà présents dans l'image. Il n'ajoutera que les fichiers présents localement, écrasant les fichiers dans l'image si un fichier du même nom existe déjà.
la source