Als Beispiel habe ich eine einfache Node.js/Maschinenschrift-Anwendung wie folgt definiert:Ist es möglich, einen Ordner vom Container zum Host-Rechner zu kopieren?
Dockerfile
FROM node:6.2
RUN npm install --global [email protected]
COPY package.json /app/package.json
WORKDIR /app
RUN npm install
COPY typings.json /app/typings.json
RUN typings install
Node Pakete und Typisierungen werden dem Bild vorinstalliert. node_modules
und typings
Ordner sind standardmäßig nur in laufenden Container vorhanden.
Docker-compose.yml
node-app:
...
volumes:
- .:/app
- /app/node_modules
- /app/typings
I aktuelle Ordner vom Host zum Behälter montieren, die Volumina von vorhandenen Ordnern aus /app
erstellt. Diese werden zurück in den Container geladen, damit die Anwendung mit ihnen arbeiten kann. Das Problem ist, dass ich den Ordner typings
auf dem Host-System als schreibgeschützten Ordner sehen möchte (weil einige IDEs Ihnen Typhinweise anzeigen können, die in diesem Ordner gefunden werden können). Von dem, was ich getestet habe, werden diese Ordner (node_modules
und typings
) auf Host-Computer erstellt, nachdem ich den Container ausgeführt habe, aber sie sind immer leer. Ist es möglich, den Inhalt (vorzugsweise nur Lesezugriff) von Container-Volumes nur dann zu sehen, wenn der Container gerade ausgeführt wird?