【问题标题】:Is it possible to mount folder from container to host machine?是否可以将文件夹从容器安装到主机?
【发布时间】:2016-07-13 09:34:16
【问题描述】:

例如,我有一个简单的 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

节点包和类型已预安装到映像中。 node_modulestypings 文件夹默认只存在于运行的容器中。

docker-compose.yml

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

我将当前文件夹从主机挂载到容器,这会从/app 的现有文件夹创建卷。这些被安装回容器,以便应用程序可以使用它们。问题是我希望将主机系统上的 typings 文件夹视为只读文件夹(因为某些 IDE 可以向您显示可以在此文件夹中找到的类型提示)。根据我的测试,这些文件夹(node_modulestypings)是在我运行容器后在主机上创建的,但它们总是空的。只有当容器正在运行时,是否有可能以某种方式从容器卷中查看它们的内容(最好是只读的)?

【问题讨论】:

    标签: node.js docker docker-compose


    【解决方案1】:

    您不能在 Compose 中将主机目录设为只读。 Compose 编排容器,而不是主机系统。

    如果您想与主机共享目录,请先在主机上创建它们并将它们挂载为绑定卷(就像您对 .:/app 所做的那样)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 2022-08-24
      • 2018-04-20
      • 2018-04-24
      • 1970-01-01
      • 2020-11-10
      相关资源
      最近更新 更多