是否有可能从容器挂载到主机的文件夹?
作为一个例子,我有一个简单的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_modules
和node_modules
文件夹默认情况下仅存在于正在运行的容器中。
泊坞窗,compose.yml
node-app: ... volumes: - .:/app - /app/node_modules - /app/typings
我将当前文件夹从主机安装到容器,从而创build来自/app
现有文件夹的卷。 这些被安装回容器,以便应用程序可以使用它们。 问题是,我想在主机系统上看到typings
文件夹作为一个只读文件夹(因为一些IDE可以显示你可以在这个文件夹中findtypes提示)。 从我testing的那些文件夹( node_modules
和node_modules
)在主机上创build后,我运行的容器,但他们总是空的。 只有在容器正在运行时,是否有可能以某种方式从容器卷中看到它们的内容(只读)?
您不能从Compose中只读主机目录。 组合编排容器,而不是主机系统。
如果您想与主机共享目录,请先在主机上创build它们,然后将它们挂载为绑定卷(就像您使用.:/app
完成的一样)