web-dev-qa-db-fra.com

Docker ajoute des fichiers à VOLUME

J'ai une Dockerfile qui copie certains fichiers dans le conteneur et après cela crée un VOLUME.

...
ADD src/ /var/www/html/
VOLUME /var/www/html/files
...

Le dossier src contient un dossier de fichiers et contient certains fichiers que je dois avoir copiés sur VOLUME lors du premier démarrage du conteneur.

Je pensais que la première fois que le conteneur était créé, il utilisait le contenu du répertoire d'origine spécifié dans le volume, mais ce n'est pas le cas.

Alors, comment puis-je obtenir les fichiers dans ce dossier?

5
blacksheep_2011

Le problème est avec votre déclaration ADD. En outre, vous pourriez ne pas comprendre comment les volumes sont accédés. Comparez vos efforts avec la démo ci-dessous:

FROM Alpine #, or your favorite tiny image
ADD src/files /var/www/html/files
VOLUME /var/www/html/files

Construisez une image appelée 'dataimg':

docker build -t dataimg .

Utilisez l'image dataimg pour créer un conteneur de données nommé 'datacon':

docker run --name datacon dataimg /bin/cat

Montez le volume depuis datacon dans votre conteneur nginx:

docker run --volumes-from datacon nginx ls -la /var/www/html/files

Et vous verrez que la liste de/var/www/html/files reflète le contenu de src/files

1
Slack Flag