Ich möchte ein Docker-Image in meinem Arbeitsprozess verwenden. Zum Beispiel möchte ich larryprice/sass verwenden, um meine SASS-Dateien zu CSS zu kompilieren. Dieses Bild ist ziemlich einfach:Docker-Container zeigt keine Dateien auf Windows-Volumes an, wenn sich der Volume-Endpunkt nicht auf dem Laufwerk befindet C:
FROM ruby:2.2
RUN gem install sass
WORKDIR /tmp
ENTRYPOINT ["sass", "--watch", "/src"]
Ich bin von Windows 10, Docker 1.11 und VirtualBox 5.0.16 verwenden.
Meine Projektdateien auf der Arbeit SSD platziert, die auf logischen Laufwerk D abgebildet - D: \ Projects \ Foo \ Bar \ web \ sass
So ist mein Problem folgendes: wenn ich ein Volumen an das Anhängen Container von Laufwerk D: (durch $ PWD oder durch vollständigen Pfad in MINGW-Stil/D/Projekte/Foo/Bar/Web/Sass) z
cd /D/Projects/Foo/Bar/web
docker run --name sass -v $PWD/sass:/src --rm larryprice/sass
der Behälter keine SASS Dateien sehen:
$ docker exec -i -t sass /bin/bash
[email protected]:/tmp# ls -al /src/
total 4
drwxr-xr-x 2 root root 40 May 3 13:05 .
drwxr-xr-x 50 root root 4096 May 3 13:05 ..
Aber wenn ich ein Volumen von Systemfestplatte (C-Mount :) alles funktioniert gut:
$ docker run --name sass -v ~/sass:/src --rm larryprice/sass
[Listen warning]:
Listen will be polling for changes. Learn more at https://github.com/guard/listen#polling-fallback.
>>> Sass is watching for changes. Press Ctrl-C to stop.
>>> New template detected: ../src/test.sass
write /src/test.css
write /src/test.css.map
Wie ich kann ich Volumes von jedem Ort aus installieren, den ich in Windows brauche? Oder was mache ich in meinem Fall falsch?
p.s. Führender Schrägstrich zum Pfad hinzufügen funktioniert auch nicht:
docker run --name sass -v //d/Projects/Foo/Bar/web/sass:/src --rm larryprice/sass
Der Docker-Host ist die virtuelle Maschine, die in Virtualbox ausgeführt wird. Wenn Sie also ein Volume mounten, wird ein Ordner innerhalb dieser VM eingehängt, kein Windows 10-Ordner. Sie müssen Ihren Weg hacken, um einen Ordner von Windows zu mounten: http://Stackoverflow.com/a/30589373/5388620. [Docker für Windows] (https://blog.docker.com/2016/03/docker-for-mac-windows-beta/) zielt darauf ab, die Volumenmontage nahtlos zu machen. – Shanoor
@ShanShan dank der Antwort. Sieht so aus, als wäre dies die gleiche Lösung, die ich gerade gepostet habe. –