Dockerfile 中 VOLUME 的用途是什么

2024-01-09

我试图更深入地了解 Docker 的体积,但我很难找出以下方面的差异/用例:

  • The docker volume create command
  • The docker run -v /path:/host_path
  • The VOLUME条目在Dockerfile file

我特别不明白如果你结合起来会发生什么VOLUME条目与-v flag.


卷是存储在的持久数据/var/lib/docker/volumes/...

  • 您可以在 Dockerfile 中声明它,这意味着每次从映像启动容器时,都会创建卷(empty),即使你没有-v option.

  • 您可以在运行时声明它docker run -v [host-dir:]container-dir https://docs.docker.com/engine/reference/run/#volume-shared-filesystems.
    将两者结合起来(VOLUME + docker run -v) 意味着您可以将主机文件夹的内容挂载到容器保存的卷中/var/lib/docker/volumes/...

  • docker 卷创建 https://docs.docker.com/engine/reference/commandline/volume_create/创建卷而无需定义 Dockerfile、构建映像并运行容器。它用于快速允许其他容器安装该卷。

如果您已将某些内容保留在卷中,但此后删除了该容器(默认情况下不会删除其关联的卷,除非您使用 docker rm -v),您可以将所述卷重新附加到新容器(声明相同的体积)。

See "Docker - 如何访问未附加到容器的卷? https://stackoverflow.com/a/34775351/6309".
使用 docker volume create,可以轻松地将命名卷重新附加到容器。

docker volume create --name aname
docker run -v aname:/apath --name acontainer
...
# modify data in /apath
...
docker rm acontainer

# let's mount aname volume again
docker run -v aname:/apath --name acontainer
ls /apath
# you find your data back!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dockerfile 中 VOLUME 的用途是什么 的相关文章

随机推荐

  • 如何在 JavaScript 中过滤和映射对象数组? [复制]

    这个问题在这里已经有答案了 我有一系列对象 我想从中有条件地创建另一个对象数组 Eg var devs name A age 26 tech JavaScript React addr country India city Pune nam
  • 无法在android中的ListView的EditText中填写详细信息

    我创建了一个带有自定义列表视图的应用程序 我的列表视图包含一个编辑文本字段 但我无法用值填充编辑文本 我是 Android 新手 所以很难找到错误 这是我的代码 public class MainActivity extends Activ
  • node_modules 包如何读取项目根目录中的配置文件?

    我正在创建一个 npm 包 它需要能够从项目根目录读取配置文件 我不知道该怎么做 例如 Next js 能够读取 pages and next config js从项目根目录 笑话能够阅读 jest config js从项目根目录 ESLi
  • Xcode 7 beta 5、Swift 2:UITableViewCell 的子视图在运行时不会添加到 contentView

    使用 Xcode 7 beta 5 和 Swift 2 时会出现以下现象 当使用在故事板中创建的自定义 UICollectionViewCell 时 单元格的子视图不会添加到单元格的子视图中 contentView 因此 该单元格在运行时保
  • 在Java中反转数组[重复]

    这个问题在这里已经有答案了 如果我有一个像这样的数组 1 4 9 16 9 7 4 9 11 反转数组使其看起来像这样的最佳方法是什么 11 9 4 7 9 16 9 4 1 我有下面的代码 但我觉得有点乏味 public int reve
  • RMongo dbGetQueryForKeys 返回 NA

    我正在使用dbGetQueryForKeys函数 我在这里了解到 https stackoverflow com questions 14486780 rmongo dbgetqueryforkeys what is the structu
  • 如何将 BGL 有向图用作无向图(用于布局算法)?

    我正在使用 Boost Graph 制作有向图 实际上是双向图 我想使用现有的布局算法 Kamada Kawai 或 Fruchterman Reingold 但它们只接受无向图作为参数 使用这些布局算法的最简单方法是什么 更一般地说 引诱
  • 当我停止 putty 时,如何在 ubuntu 14.04 上运行 jar 文件而不停止?

    我使用的是ubuntu 14 04 我正在运行一个 jar 文件 该文件应该在几天内收集大量数据 我正在运行 jar 文件 认为这个命令运行良好 java jar xxx jar 但是 当我关闭腻子时 该过程停止了 有没有办法让 jar 文
  • 在 Scala 中将 DataFrame 转换为 RDD[Map]

    我想转换创建的数组 如下所示 case class Student name String age Int val dataFrame DataFrame sql createDataFrame sql sparkContext paral
  • PostgreSQL 的 NGINX TLS 终止

    我一直在尝试使用 NGINX 作为 PostgreSQL 数据库的 TLS 终结器 但没有成功 当我尝试连接到数据库时 出现以下错误 服务器意外关闭连接 这可能意味着服务器在处理请求之前或处理过程中异常终止 当我删除ssl选项中listen
  • 无法让 mongoose-unique-validator 工作

    这不可能那么困难 但我总是收到默认的 mongoose 11000 错误 这是我的代码的简化版本 model import mongoose from mongoose import uniqueValidator from mongoos
  • 将 BlackBerry 应用程序设计得像 iPhone

    我正在将应用程序从 iPhone 移植到 BlackBerry BlackBerry 应用程序往往看起来不像 iPhone 那样精美 但自然地 我希望尽可能保持精美 而不破坏任何重要的 UI 约定 有没有任何 UI 组件可以帮助解决这个问题
  • 带图像的自定义标题

    我正在通过禁用标准标题并自己管理所有内容来为活动创建自定义标题 我想知道是否可以根据我的需要替换 主题标准标题 我可以通过更改 windowXYZStyle 项目来通过主题自定义大小 背景图像和文本 我唯一找不到的东西 如何添加图像而不是文
  • 设置 Qt QPushButton 弹出菜单的位置(向右)

    我正在为 Qt 按钮小部件编写弹出菜单 每当单击按钮时 就会弹出一个菜单 在按钮下方 默认情况下 弹出菜单位于下方左侧 有没有办法让弹出菜单在按钮下方的右侧弹出 没有设置位置的功能 所以我想知道是否有一些复杂的方法可以做到这一点 这是一些代
  • 在 Flask 的 url_for 函数中禁用字符转义

    Flask 有吗url for方法有一个选项可以禁用自动转义吗 所以如果我有一个名为getUser像这样的路线 user
  • pandas read_sql 在列名中删除点

    这是一个错误还是我做错了什么 我创建一个 df 将其放入 sql 表中 df 和表有一列 其中有一个点 现在 当我从 sql 表中读取 df 时 列名不一样 我编写了这段小代码 以便人们可以测试它 import sqlalchemy imp
  • 如何在不配置的情况下更改 npm 前缀?

    我不小心将 npm 前缀更改为不存在的地方 是否有一个我可以访问的配置文件可以让我将其更改回来 我能想到的唯一选择是 完全卸载节点 更改前缀后 npm 没有响应 https stackoverflow com questions 39250
  • H264 中的 Elementary Stream 是什么意思

    我读了 Elementary Stream 的内容维基百科 http en wikipedia org wiki Elementary stream 我正在使用的工具 Live555 需要 H 264 视频基本流文件 因此 当从视频应用程序
  • 在Java中仅获取路径目录并丢弃文件

    我们如何实际丢弃 java 字符串中的最后一个文件并仅获取文件路径目录 用户输入的随机路径 C my folder tree apple exe 期望的输出 C my folder tree 我找到的最接近的解决方案来自here https
  • Dockerfile 中 VOLUME 的用途是什么

    我试图更深入地了解 Docker 的体积 但我很难找出以下方面的差异 用例 The docker volume create command The docker run v path host path The VOLUME条目在Dock