docker 在主机上安装卷

2023-12-04

我已经成功地能够使用以下命令在具有卷的 docker 容器之间共享文件夹

docker run -v /host/path:/container/path ...

但我的问题是这和使用有什么区别VOLUMEDockerfile 中的命令

VOLUME /path

我使用的图像具有VOLUME命令,我想知道如何与我的主机共享它。我已经使用了-v上面的命令,但我不知道我是否需要-v and VOLUME.


The VOLUME命令将在容器内安装一个目录,并将在该目录内创建或编辑的任何文件存储在主机磁盘上容器文件结构之外,绕过联合文件系统。

这个想法是,您的卷可以在 Docker 容器之间共享,并且只要有容器(正在运行或已停止)引用它们,它们就会一直存在。

您可以使用以下命令让其他容器挂载现有卷(在容器之间有效地共享它们):--volumes-from运行容器时的命令。

之间的根本区别VOLUME and -v这是:-v将从您的操作系统挂载现有文件到您的 docker 容器中,并且VOLUME will 创建一个新的空卷在您的主机上并将其安装在容器内。

Example:

  1. 你有一个 Dockerfile 定义了VOLUME /var/lib/mysql.
  2. 您构建 docker 映像并对其进行标记some-volume
  3. 您运行容器

进而,

  1. 您有另一个想要使用此卷的 docker 映像
  2. 您可以使用以下命令运行 docker 容器:docker run --volumes-from some-volume docker-image-name:tag
  3. 现在您有一个正在运行的 docker 容器,其中的卷来自some-volume安装在/var/lib/mysql

注意:使用--volumes-from将在该卷位置中存在的任何内容上安装该卷。也就是说,如果你有东西/var/lib/mysql,它将被卷的内容替换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker 在主机上安装卷 的相关文章

  • 如何在 Docker SQL Server 映像上运行安装脚本?

    我正在尝试在 Docker SQL Server 映像上运行安装脚本 为此 我从 mssql 映像创建了一个 Dockerfile FROM microsoft mssql server linux 2017 CU8 Create dire
  • 如何启动docker容器(ubuntu镜像)

    如何统计 Docker 容器 我是用它创建的 docker run d P v Users bsr usr local users name test ubuntu 我确实安装了虚拟盒来宾附加功能 并且安装工作正常 但是 我不知道为什么我不
  • 从 CLI 列出 ARM 的 Docker 映像

    我拥有一台 Mac M1 我在上面运行 Docker 在 OSX 上 Docker 可以运行本机 ARM 映像 但也可以模拟 x86 amd64 来运行不是为 ARM 构建的映像 我的问题很简单 从命令行 我试图找到显示图像的命令 dock
  • VS2017 构建失败 - DOCKER_REGISTRY

    我正在开始使用 Docker 并熟悉 NET Core 和 Visual Studio 2017 我创建了一个名为 WebApplicationCore21 的新 Web 应用程序 Razor Pages 并启用了 Docker 支持 并立
  • 多个 Docker 容器和 Celery

    我们现在的项目结构如下 处理来自客户端的传入请求的 Web 服务器 向用户提供一些建议的分析模块 我们决定保持这些模块完全独立 并将它们移动到不同的 docker 容器中 当用户的查询到达网络服务器时 它会向分析模块发送另一个查询以获取推荐
  • 从 Docker 容器获取控制台输出

    我构建了一个安装了 Python 的映像以及一个 Python 应用程序 我的 Python 应用程序是你好世界 应用程序 只需打印 Hello World 屏幕上 Dockerfile FROM python 2 onbuild CMD
  • Docker LABEL 用于在多阶段构建中访问构建镜像

    在 CI 构建期间 我通过添加以下内容从多阶段 Docker 构建 测试报告 中的构建映像中提取构建工件 LABEL构建步骤 然后使用带标签的图像创建一个容器以提取工件 这似乎在 Mac 版 Docker Desktop 中被破坏了 或者我
  • 使用heroku.yml部署到Heroku多个docker镜像,收到错误:无法检测到此应用程序的默认语言

    我正在尝试部署一个在本地运行的应用程序docker compose 我遵循了文档 使用 heroku yml 构建 Docker 镜像 https devcenter heroku com articles build docker ima
  • 如何在docker for windows中访问主机中的卷

    我在 WSL 中运行 Windows 和 ubuntu 的 docker 当我运行以下命令时 docker volume create test docker volume inspect test 我得到以下输出 Driver local
  • 端口不是所有 Docker 网络都通用的吗?

    我创建了两个docker网络 中国网络 docker network create subnet 172 19 0 0 16 chnetwork 内部网络 docker network create internal subnet 10 1
  • 有没有办法查看 Docker for Windows 上的容器磁盘使用情况?

    我很好奇除了作为容器映像一部分的层之外 是否还有一种方法可以查看正在运行的 Windows 容器使用了多少磁盘空间 基本上 容器自创建以来 增长 了多少 在 Linux 或在 HyperV 中运行的 Linux 容器 中 这将是docker
  • Docker 与 nginx 组合不断显示欢迎页面

    我是新来的docker并尝试使用最简单的 docker compose yml 显示一个 hello world 页面 并在此基础上构建最终完整的LEMP堆栈它将与我的服务器具有相同的配置 然而大多数教程已经过时 并且有很多使用方法dock
  • Docker:内存文件系统

    我有一个 docker 容器 它对磁盘进行大量读 写操作 我想测试当我的整个 docker 文件系统都在内存中时会发生什么 我在这里看到一些答案说这不会是真正的性能改进 但这是为了测试 我想测试的理想解决方案是共享每个图像的公共部分 并在需
  • 来自 alpine 软件包存储库的 Numpy 无法导入 c 扩展

    我正在制作一个需要 pandas 和 numpy 的 docker 映像 但通过 pip 安装大约需要 20 分钟 这对于我的用例来说太长了 然后我选择从 alpine 软件包存储库安装 pandas 和 numpy 但似乎无法正确导入 n
  • 如何获取 docker run -i 的输出

    docker run通常返回其运行的命令的输出 我需要将一些数据传递给 docker 运行处理数据的命令 然后返回输出 当我使用 i选项 不返回任何输出 考虑这个简单的例子 echo hello docker run i base wc 它
  • Visual Studio 2015 Docker 集成不会附加调试

    我使用 VS 2015 创建了一个 Default net Core RC2 MVC 应用程序 我添加了 Docker 支持 以便我可以在 docker 中运行和调试它 当我运行该项目时 它会构建 docker 容器并启动它 运行命令 do
  • yum update / apk update / apt-get update 在代理后面不起作用

    我使用代理 无法构建 Docker 映像 我尝试过FROM ubuntu FROM centos and FROM alpine but apt get update yum update apk update failed 我的主机操作系
  • 将代码/文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中

    如何将代码 文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中 类似于使用 Docker 挂载主机文件 目录的方式 例如 docker run d name nginx p 443 443 v ngin
  • 从头开始使用映像部署无法启动

    我正在使用以下内容构建图像Dockerfile FROM golang 1 19 2 bullseye as builder COPY src src WORKDIR src RUN CGO ENABLED 1 go build race
  • 如何在AWS批处理中定义根卷大小

    我正在使用 AWS Batch 但发现根卷大小对于我的任务来说太小 我尝试创建一个新的计算环境 作业队列 但没有任何选项来设置卷大小 我尝试更改启动配置here https console aws amazon com ec2 autosc

随机推荐

  • 盒装价值的寿命不够长

    我正在尝试在 Rust 中实现一个缺点列表作为练习 我已经成功解决了除此之外的所有编译器错误 Compiling list v0 0 1 file home nate git rust list home nate git rust lis
  • 为什么迭代 i32 向量会引用 i32 (&i32)?

    以下程序尝试对学生的成绩进行评分 use std io fn main let mut in0 String new io stdin read line mut in0 expect stdin err let n i32 in0 tri
  • WCF 服务返回“不允许的方法”

    在开发我的第一个 WCF 服务的过程中 当我尝试使用它时 我得到 不允许的方法 没有其他解释 我已经使用 ServiceContract 和 OperationContract 设置了界面 OperationContract void Fi
  • mssql 2个日期时间之间的30分钟时间间隔

    我有以下查询 我想获取 2 个日期时间之间 30 分钟间隔的日期时间 基本上我得到了它 但它是有限的 如果时间差超过 24 小时 则不会返回所有结果 例如 DateTime1 24 11 2016 18 00 00 DateTime2 25
  • javascript从多个范围中获取随机数

    我见过不同语言的不同实现 但是我还没有遇到 js 方法 本质上 我希望能够检索提供的范围数组内的随机值 var ranges min 2 max 50 min 500 max 600 etc 我有基本的最小最大函数 只是不知道如何有效地做到
  • 用于测试任何委托性能的通用函数

    当测试不同方法实现的相对性能时 我发现自己重写了与此类似的函数 private static long Measure int iterations Func
  • 当前播放音乐的曲目信息

    我正在实现一个与获取当前音乐曲目信息相关的应用程序 我正在使用以下代码来实现 public class CurrentMusicTrackInfoActivity extends Activity public static final S
  • PHP:Mysqli 用“select *”准备了语句

    这就是我目前从数据库获取的方式 if stmt mysqli gt prepare SELECT fname lname from table name where cno gt LIMIT 50 stmt gt bind param i
  • Dropbox Sync API Android - 更新缓存文件

    我在更新 Android 应用程序中现有的缓存文件时遇到麻烦 for DbxFileInfo fInfo fileList Log d TAG File Path fInfo path toString String fileName fI
  • toLocaleDateString() - 挪威语问题

    我在正确设置区域设置日期字符串格式时遇到问题 它突然停止为挪威语工作 我尝试过 不 不 和 nb 不 关于可能导致这种情况的原因有什么想法吗 我被困住了 Example console log new Date toLocaleDateSt
  • 用数组索引多维数组

    我有一个多维 NumPy 数组 In 1 m np arange 1 26 reshape 5 5 In 2 m Out 2 array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  • 固定小数精度[重复]

    这个问题在这里已经有答案了 我目前正在使用 std cout precision 5 设置我的输出的小数精度 然而 我宁愿拥有我的 输出总是输出 5 位小数 现在不会显示 0 我将如何更改我的代码以反映这一点 您正在寻找std fixed和
  • Magick++ 链接错误

    我这里有一个使用 Magick ImageMagick 接口 库的简单图像转换器代码 Eclipse IDE include
  • Tableau - 公用表表达式 (CTE) SQL Server

    我正在将 Tableau 与 SQL Server 连接 并尝试使用 T SQL 查询 我只是想知道 Tableau 是否支持 CTE 通用表表达式 我看到这篇文章 它说 CTE 是可能的 http kb tableau com artic
  • 如何使 Doctrine_Expression ( Doctrine 1.2 ) 尝试获取最后 7 天

    我尝试用原则 1 2 进行这个查询 q gt where date gt new Doctrine Expression DATE SUB CURDATE INTERVAL 7 DAY 但它没有给我返回任何结果 任何想法 thanks 它不
  • 如何从字符串中提取浮点数[重复]

    这个问题在这里已经有答案了 我有很多类似的字符串Current Level 13 4 db 我想只提取浮点数 我说的是浮动而不是十进制 因为它有时是整数 RegEx 可以做到这一点还是有更好的方法 如果您的浮点数始终以十进制表示法表示 例如
  • 在 PyQt 中嵌入“图形类型”Seaborn 图(pyqtgraph)

    我正在使用 PyQt 的包装器 pyqtgraph 构建 GUI 应用程序 我希望嵌入一个Seaborn使用其中的绘图MatplotlibWidget 但是 我的问题是 Seaborn 包装方法 例如FacetGrid不接受外部图形句柄 此
  • 正则表达式匹配数字逗号数字

    这就是我现在所拥有的 0 9 0 9 我的问题是我希望能够在逗号前后添加多于一位的数字 例子 1 12 12 12 123 12 12 123 以上所有数字均应有效 我建议如下 d d The 与前一项匹配一次或多次 参考 JavaScri
  • MVC 不应该默认忽略图像吗?

    如果有1 jpg图像 因此它被下载并显示 img src Content Pages 1 jpg 但是 如果没有1 jpg图像在Pages文件夹 所以我收到以下错误 The controller for path Content Pages
  • docker 在主机上安装卷

    我已经成功地能够使用以下命令在具有卷的 docker 容器之间共享文件夹 docker run v host path container path 但我的问题是这和使用有什么区别VOLUMEDockerfile 中的命令 VOLUME p