思念灬终结 2017-09-08 03:06 采纳率: 0%
浏览 1013

docker volume create 控制数据卷大小

一、【现象】
最新在学习docker,在学习到数据卷的时候发现docker API提供了(dcoker volume create)命令,而且还可以设置数据卷大小,所以就尝试创建了数据卷、限制了数据卷大小并挂载到容器上,在测试阶段发现无论给宿主机中的数据卷目录下写数据还是给容器写数据,数据卷大小都没有受到限制。

二、【疑问】
1.实际数据卷大小并没有收到限制,是我的数据卷命令创建的有问题,还是我的测试步骤或者形式有问题呢?
2.设置了数据卷的大小,预期的效果是什么样?超出限制大小系统会给出错误提示,还是数据仍会写进去,但之前的数据有丢失?

三、【操作步骤】
1.创建数据卷限制大小为3M,启动容器并挂载该数据卷
2.通过命令的形式给宿主机中的数据卷写了一个3M的文件(文件名:3M.file),并查看文件大小
3.进入到容器查看/data目录下文件大小,发现也生成3M.file文件,而且文件的大小跟宿主机一样为3.0M

volume_1

volume_2

volume_3

PS:路过的大神麻烦指条明路,问题到底出现在哪里,怎样才能控制住数据卷的大小呢,在线等~~~
如果有docker相关的微信群麻烦也提供下,我进去咨询咨询,再次谢过~~~

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-06 10:42
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    您的问题主要集中在以下几点:

    1. 数据卷的创建docker volume create 命令用于创建一个新的数据卷。然而,它不直接控制数据卷的实际大小。要指定数据卷的初始容量,您需要使用 --opt size=<value> 参数。

    2. 数据卷的生命周期管理:数据卷具有其自己的生命周期,包括创建、删除和重命名。如果希望对数据卷进行更精细的管理,例如限制其大小或自动扩展以满足需求,您可以考虑使用一些容器化平台提供的工具,如 Docker Compose 或 Kubernetes。

    3. 数据卷的限制:当您试图从宿主机复制文件时,实际上是在将文件移动到数据卷中,并且在容器内创建一个临时文件来保存这些数据。因此,即使在容器内部,文件的大小也不会受限于宿主机上的原始文件大小。为了实现类似的行为,您可能需要使用像 Docker Compose 这样的框架,它允许您在宿主机上定义服务配置,然后将这些配置应用到容器中。

    4. 性能与资源利用率:对于大型数据卷,使用较大的初始容量可能会导致资源消耗过度。在这种情况下,您可以考虑动态调整数据卷的大小,或者使用更有效的存储解决方案,如 Amazon EBS SSD、Google Cloud Storage 等。

    如果您想要进一步了解如何使用 Docker 来管理数据卷以及如何根据实际情况调整它们的大小,请参考以下文档:

    • Docker 官方文档: https://docs.docker.com/storage/
    • Docker Compose 文档: https://docs.docker.com/compose/

    此外,如果您正在使用 Kubernetes,可以查阅 Kubernetes 的官方文档,因为它提供了更强大的数据卷管理功能,包括基于策略的容量控制和自动扩展能力。

    如果您能提供更多关于您的具体场景和目标的信息,我可以为您提供更具体的建议。

    评论

报告相同问题?

悬赏问题

  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误