2016-03-27 16 views
3

Ich verwende Docker mit Docker Machine auf Mac. Ich habe erfolgreich einige Container eingerichtet und rannte npm install in ihnen, wie erklärt here. Dies installiert die node_modules innerhalb des Images und innerhalb des Containers, aber sie sind nicht auf dem Host verfügbar, d. H. Meine IDE beschwert sich über fehlende node_modules.Auf node_module nach npm zugreifen Installation in Docker

Fehle ich etwas? Was ist der beste Weg, npm install innerhalb des Containers auszuführen, aber die Entwicklung (mit diesen Abhängigkeiten) auf dem Host durchführen zu können?

Aus meiner Docker-compose.yml:

volumes: 
    - /Users/andre/IdeaProjects/app:/home/app 
    - /home/app/node_modules 

Antwort

1

Da Sie boot2docker verwenden, nur Max Host-Ordner /Users/ angebracht ist und von dem boot2docker Host.

Das bedeutet, dass Sie /home/app/node_modules einem Mac-Host-Pfad zuordnen müssen, der mit /Users beginnt, um die Module auf Ihrem Mac-Host anzuzeigen.

volumes: 
    - /Users/andre/IdeaProjects/app:/home/app 
    - /Users/andre/node_modules:/home/app/node_modules 
+0

Vielen Dank! Soweit ich weiß, würde dies meinen leeren Ordner/Users/andre/node_modules in den Container unter/home/app/node_modules, leasing/home/app/node_modules? Danach bekomme ich die Fehlermeldung "Fehler: Container Befehl nicht gefunden oder existiert nicht." Ich denke, dies zeigt an, dass die erforderlichen Knotenmodule nicht mehr innerhalb des Containers existieren. –

+0

@ André Ja, Sie müssen die Module nach dem Start des Containers installieren: Alle installierten Module würden in '/ Users/andre/node_modules' geschrieben werden. – VonC

+0

Es wird also nicht funktionieren, dass "RUN npm install" Teil meiner Dockerfile ist ? –