当前位置: 首页 > 面试题库 >

了解DockerFile中的“ VOLUME”指令

有耀
2023-03-14
问题内容

以下是我的“ 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文件夹中的主机中。

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


问题答案:

官方Dockerhtml" target="_blank">教程说:

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

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

  • 数据量可以在容器之间共享和重用。

  • 直接更改数据量。

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

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

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

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



 类似资料:
  • 下面是我的“DockerFile”的内容

  • 问题内容: 我想加深对Docker容量的了解,并且很难弄清以下内容的差异/用例: 该命令 的 文件中的条目 我特别不明白如果将条目与标志结合在一起会发生什么。 问题答案: 卷是存储在 您可以在Dockerfile中声明它,这意味着每次从映像启动容器时,即使没有任何选择,也会创建该卷( 空 )。 您可以在运行时声明它。 结合使用两个(+ )意味着您可以将主机文件夹的内容挂载到容器中保留的卷中 doc

  • 本实验尝试使用此Docker文件构建容器: 然后在容器内部,创建一个< code >/opt/bundle/file . txt 并在其中放置一些文本。但是,在阅读了“我应该使用复制/添加还是卷包含我的代码”后,该文件并没有像我预期的那样出现在主机上的捆绑目录中。最后一段: 在某些情况下,您可能希望两者都使用。您可以使用COPY让图像包含代码,并在开发过程中使用组合文件中的卷来包含来自主机的代码。

  • 本文向大家介绍Dockerfile指令详解,包括了Dockerfile指令详解的使用技巧和注意事项,需要的朋友参考一下 什么是Dockerfile Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随者各种方法,命令和参数。其产出为一个新的可以用于创建容器

  • Dockerfile 指令详解 我们已经介绍了 FROM,RUN,还提及了 COPY, ADD,其实 Dockerfile 功能很强大,它提供了十多个指令。下面我们继续讲解其他的指令。

  • 让我们举个例子。 https://github.com/dockerfile/nginx/blob/master/dockerfile http://www.tech-d.net/2014/11/03/docker-indepth-volumes/ 如何在生成期间将主机卷装入Dockerfile中的docker容器 http://jpetazzo.github.io/2015/01/19/Dock