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?
Essayez d'utiliser:
volumes:
- ./server:/server
au lieu de server/
- Docker n'aime pas la barre oblique dans certains cas.
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
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)