2016-07-13 3 views
2

В качестве примера, у меня есть простой Node.js/Машинопись приложение определяется следующим образом:Возможно ли установить папку из контейнера в хост-машину?

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_modules и typings папки по умолчанию присутствуют только в запущенном контейнере.

докер-compose.yml

node-app: 
    ... 
    volumes: 
     - .:/app 
     - /app/node_modules 
     - /app/typings 

монтирование текущей папки от хоста к контейнеру, который создает тома из существующих папок из /app. Они монтируются обратно в контейнер, чтобы приложение могло работать с ними. Проблема в том, что я хочу видеть папку typings в хост-системе как папку только для чтения (потому что некоторые IDE могут отображать подсказки типа, которые можно найти в этой папке). Из того, что я тестировал, эти папки (node_modules и typings) создаются на главной машине после запуска контейнера, но они всегда пусты. Возможно ли каким-либо образом увидеть их содержимое (желательно только для чтения) из томов контейнера только в том случае, если контейнер запущен?

ответ

2

Вы не можете создать главную директорию для чтения из Compose. Составить оркестровые контейнеры, а не хост-систему.

Если вы хотите использовать каталоги с хостом, создать на их хосте первый и смонтировать их как тома связывания (как вы сделали с .:/app)

Смежные вопросы