J'ai trouvé intéressant de bizarreries lors de la tentative de montage d'un panneau de l'image sur windows.
J'ai créé un .sh
script qui fait monter le dossier de projet pour exécuter notre développeur de l'image de l'environnement. Je veux un script que tous les dev peuvent exécuter, indépendamment de leur machine. Il n'est de pistes de docker avec le dossier du projet en cours.
#!/usr/bin/env bash
docker run -it --rm -v D:\my\project\folder:/wkDir $IMAGE_TAG yarn dev
Fonctionne bien. Maintenant, le plan est d'appeler ce script à partir de npm
, donc j'aimerais que cela fonctionne par rapport à ce dossier. Essayez une autre version.
docker run -it --rm -v $PWD:/wkDir $IMAGE_TAG yarn dev
Échoue avec:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from
daemon: Mount denied:
The source path "D:/my/project/folder;C"
doesn't exist and is not known to Docker.
Wat. Ce qu' ;C
et d'où vient-elle?
Donc, je n' echo $PWD
ce qui me donne de l' /d/my/project/folder
.
Intéressant, $PWD
résout le chemin correct dans linux format de chemin d'accès, et il semble que docker est en train d'essayer de traduire que vers le bon chemin d'accès windows, sauf il y a cette ;C
qui apparaît de nulle part. Et l' \
sont /
...
Ce qui se passe exactement ici?
J'obtiens le même résultat en VSCode du terminal git bash et powershell.
Mise à jour: j'ai remarqué que l'exécution de l' .sh
dans VSCode de powershell terminal, ouvre une nouvelle cmd.exe
fenêtre de la console qui semble exécuter le script dans git bash. Donc cela pourrait être un git bash question.