web-dev-qa-db-fra.com

Le volume monté est vide à l'intérieur du conteneur

J'ai un docker-compose.yml comme ceci:

db:
  image: mongo:latest
  ports:
    - "27017:27017"
server:
  image: artificial/docker-sails:stable-pm2
  command: sails lift
  volumes:
    - server/:/server
  ports:
    - "1337:1337"
  links:
    - db

server/ est relatif au dossier du fichier docker-compose.yml. Cependant, lorsque je docker exec -it CONTAINERID /bin/bash et vérifie /server, il est vide.

Qu'est-ce que je fais mal?  

9
Hedge

Essayez d'utiliser:

volumes:
  - ./server:/server

au lieu de server/ - Docker n'aime pas la barre oblique dans certains cas.

11
ldg

Selon la documentation des volumes de docker, 

https://docs.docker.com/engine/tutorials/dockervolumes/#/mount-a-Host-directory-as-a-data-volume

Le répertoire hôte peut être un chemin absolu ou une valeur de nom. Si vous fournissez un chemin absolu pour le répertoire hôte, Docker bind-mounts au fichier chemin que vous spécifiez. Si vous fournissez un nom, Docker crée un volume nommé par ce nom

6
atv

Outre les réponses fournies ici, il peut s'agir du partage de lecteur dans Docker Setting. Sur Windows, j'ai découvert que le partage de lecteur doit être activé. S'il est déjà activé et que vous avez récemment changé le mot de passe de votre ordinateur, vous devez désactiver le partage de lecteur (et cliquez sur «Appliquer»), puis le réactiver (puis cliquez sur «Appliquer»). Ce faisant, vous serez invité à saisir le nouveau mot de passe de votre PC. Après ce processus, réexécutez votre commande de menu fixe (exécuter ou composer) enter image description here

0
papigee