一尘不染

了解DockerFile中的“ VOLUME”指令

docker

以下是我的“ Dockerfile”的内容

FROM node:boron

# Create app directory
RUN mkdir -p /usr/src/app

# change working dir to /usr/src/app
WORKDIR /usr/src/app

VOLUME . /usr/src/app

RUN npm install

EXPOSE 8080

CMD ["node" , "server" ]

在此文件中,我期望“ VOLUME。/ usr / src / app”指令将主机上当前工作目录的内容安装在要安装在容器的/ usr / src /
app文件夹中的主机中。

请让我知道这是正确的方法吗?


阅读 340

收藏
2020-06-17

共1个答案

一尘不染

官方Docker教程说:

数据卷是一个或多个容器中的一个特别指定的目录,绕过联合文件系统。数据量为持久性数据或共享数据提供了几个有用的功能:

  • 创建容器时将初始化卷。如果容器的基本映像在指定的安装点包含数据,则
    在卷
    初始化时会将现有数据复制到新卷中。(请注意,这在安装主机
    目录时不适用。)
  • 数据量可以在容器之间共享和重用。

  • 直接更改数据量。

  • 更新映像时将不包括对数据量的更改。

  • 即使容器本身被删除,数据卷仍然存在。

在In中Dockerfile,只能指定容器 卷的目标。例如/usr/src/app

例如docker run --volume=/opt:/usr/src/app my_image,当您运行容器时,您 可以
但不必在主机上指定其安装点( / opt
)。如果您未指定--volume参数,则通常会在下自动选择安装点/var/lib/docker/volumes/

2020-06-17