当前位置: 首页 > 知识库问答 >
问题:

理解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" ]

共有1个答案

籍兴文
2023-03-14

官方的docker教程说:

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

>

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

    DockerFile中,只能指定容器内卷的目标。例如/usr/src/app

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

  •  类似资料:
    • 问题内容: 以下是我的“ Dockerfile”的内容 在此文件中,我期望“ VOLUME。/ usr / src / app”指令将主机上当前工作目录的内容安装在要安装在容器的/ usr / src / app文件夹中的主机中。 请让我知道这是正确的方法吗? 问题答案: 官方Docker教程说: 数据卷是一个或多个容器中的一个特别指定的目录,绕过联合文件系统。数据量为持久性数据或共享数据提供了几

    • 让我们举个例子。 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

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

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

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

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