以下是我的“ 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文件夹中的主机中。
请让我知道这是正确的方法吗?
官方Docker教程说:
数据卷是一个或多个容器中的一个特别指定的目录,绕过联合文件系统。数据量为持久性数据或共享数据提供了几个有用的功能: 创建容器时将初始化卷。如果容器的基本映像在指定的安装点包含数据,则 在卷 初始化时会将现有数据复制到新卷中。(请注意,这在安装主机 目录时不适用。) 数据量可以在容器之间共享和重用。 直接更改数据量。 更新映像时将不包括对数据量的更改。 即使容器本身被删除,数据卷仍然存在。
数据卷是一个或多个容器中的一个特别指定的目录,绕过联合文件系统。数据量为持久性数据或共享数据提供了几个有用的功能:
数据量可以在容器之间共享和重用。
直接更改数据量。
更新映像时将不包括对数据量的更改。
即使容器本身被删除,数据卷仍然存在。
在In中Dockerfile,只能指定容器 内 卷的目标。例如/usr/src/app。
Dockerfile
/usr/src/app
例如docker run --volume=/opt:/usr/src/app my_image,当您运行容器时,您 可以 但不必在主机上指定其安装点( / opt )。如果您未指定--volume参数,则通常会在下自动选择安装点/var/lib/docker/volumes/。
docker run --volume=/opt:/usr/src/app my_image
--volume
/var/lib/docker/volumes/