是否有可能从容器挂载到主机的文件夹?

作为一个例子,我有一个简单的Node.js / Typescript应用程序定义如下:

Dockerfile

FROM node:6.2 RUN npm install --global typings@1.3.1 COPY package.json /app/package.json WORKDIR /app RUN npm install COPY typings.json /app/typings.json RUN typings install 

节点包和types已预先映像。 node_modulesnode_modules文件夹默认情况下仅存在于正在运行的容器中。

泊坞窗,compose.yml

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

我将当前文件夹从主机安装到容器,从而创build来自/app现有文件夹的卷。 这些被安装回容器,以便应用程序可以使用它们。 问题是,我想在主机系统上看到typings文件夹作为一个只读文件夹(因为一些IDE可以显示你可以在这个文件夹中findtypes提示)。 从我testing的那些文件夹( node_modulesnode_modules )在主机上创build后,我运行的容器,但他们总是空的。 只有在容器正在运行时,是否有可能以某种方式从容器卷中看到它们的内容(只读)?

您不能从Compose中只读主机目录。 组合编排容器,而不是主机系统。

如果您想与主机共享目录,请先在主机上创build它们,然后将它们挂载为绑定卷(就像您使用.:/app完成的一样)