docker volume size控制数据卷大小

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

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

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




PS:路过的大神麻烦指条明路,问题到底出现在哪里,怎样才能控制住数据卷的大小呢,在线等~~~
如果有docker相关的微信群麻烦也提供下,我进去咨询咨询,再次谢过~~~
...全文
1543 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码誊写工 2017-09-09
  • 打赏
  • 举报
回复
如果帮到你,请务必结贴
代码誊写工 2017-09-09
  • 打赏
  • 举报
回复
docker volume管理自己的一套volume 然后通过 docker run -v <volume_container_name>:<mount_point> 给一个容器使用,例如:
[root@host ~]# docker volume create -d local -o type=tmpfs -o device=tmpfs -o o=size=2m,uid=1000 --name my_test_volume_01
[root@host ~]# docker volume inspect my_test_volume_01
[
    {
        "Name": "my_test_volume_01", #这个才是你在-v里的参数
        "Driver": "local",
        "Mountpoint": "/opt/docker/graph/volumes/my_test_volume_01/_data", #这个是实际数据存储,你可以在宿主机里直接读取z容器里这个volume的数据,但不是你在-v里的参数
        "Labels": {},
        "Scope": "local"
    }
]


[root@host ~]# docker run -it --rm --name test01 --hostname test01 -v my_test_volume_01:/mytest centos:7.3.1611 bash
[root@test01 /]# cd /mytest
# 尝试往里面填充数据,但最后只能写入2M。
[root@test01 /]# dd if=/dev/zero of=/mytest/my01.img bs=1M count=10 
不用docker vloume实现类似这样:
[root@host ~]# mkdir /run/my_test_volume_01
[root@host ~]# mount tmpfs /run/my_test_volume_01 -t tmpfs -o rw,size=2m,uid=1000
# 再把这个文件系统用-v挂载给容器
[root@host ~]# docker run -it --rm --name test01 --hostname test01 -v /run/my_test_volume_01:/mytest centos:7.3.1611 bash
如果你在宿主机创建一个img文件,就有另外两种方式给容器使用。
[root@host ~]# dd if=/dev/zero of=/tmp/myfs.img bs=1 count=0 seek=2M

方式1.在宿主机mount img文件到一个目录,再通过-v把该目录挂载给容器
# 格式化img文件
[root@host ~]# mkfs.ext4 /tmp/myfs.img #空间只剩900K可用
# 把img文件mout到宿主机的一个目录
[root@host ~]# mount /tmp/myfs.img /run/mytest -o loop -t ext4
# 再把这个目录挂载给容器
[root@host ~]# docker run -it --rm --name test01 --hostname test01 -v /run/my_test_volume_01:/mytest centos:7.3.1611 bash

方式2.把img文件创建为loop device,通过--device让容器直接管理块设备
# 格式化img文件
[root@host ~]# mkfs.ext4 /tmp/myfs.img #空间只剩900K可用
# 把img文件通过losetup做成宿主机的一个loop块设备
[root@host ~]# losetup -v /dev/loop0 /tmp/myfs.img
# 打开容器的sys_admin权限(没有这个权限无法mount),并通过--device=/dev/loop0,把loop块设备给容器使用
[root@host ~]# docker run -it --rm --cap-add=sys_admin --name tes01 --hostname test01 --device=/dev/loop0 my/centos:7.3.1611 bash
[root@test01 /]# mkdir /mytest
[root@test01 /]# mount /dev/loop0 /mytest/
[root@test01 /]# cd /mytest
[root@test01 mytest]# df -lh
Filesystem                Size  Used Avail Use% Mounted on
overlay                    16G  4.2G   12G  27% /
tmpfs                     5.9G     0  5.9G   0% /dev
tmpfs                     5.9G     0  5.9G   0% /sys/fs/cgroup
/dev/mapper/vg_root-root   16G  4.2G   12G  27% /etc/hosts
shm                        64M     0   64M   0% /dev/shm
/dev/loop0                987K  947K     0 100% /mytest
rayw0ng 2017-09-08
  • 打赏
  • 举报
回复
换个挂载姿势试试
-v yh-test-volume:/data
内容概要:本文聚焦于多区域综合能源系统中热网的建模与系统运行优化问题,基于Matlab平台实现了完整热网数学模型的构建与仿真分析。研究充分考虑热力网络的物理特性、能量传输损耗、多能互补机制以及区域间的耦合约束,建立了涵盖能源生产、传输与消费全过程的协同优化模型。通过集成灰狼优化(GWO)、改进灰狼优化(IGWO)、金豺优化(GJO)等多种智能优化算法,对系统运行成本、能源利用效率及碳排放等多重目标进行联合优化求解,有效提升了综合能源系统的经济性、可靠性和可持续性水平。文中提供的完整Matlab代码支持EI级别论文的复现,具有较强的科研参考价值和工程应用潜力。; 适合人群:面向具备能源系统、电力系统或热力工程等相关专业背景,熟悉Matlab编程环境,从事综合能源系统建模、热网优化调度、多能协同控制等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于多区域综合能源系统中热力网络的建模与潮流仿真分析;②支撑系统级运行优化研究,包括经济调度、低碳运行、多能协同与可靠性提升;③为智能优化算法在复杂能源系统中的应用提供可复现的案例支持与代码基础,助力高水平学术论文撰写与算法验证。; 阅读建议:建议结合Matlab代码逐模块解析热网建模流程与优化求解逻辑,重点关注热网节点方程、耦合元件建模、目标函数构造及约束条件处理方法,推荐配合实际系统参数进行调试与拓展实验,以深入掌握综合能源系统协同优化的核心机制。
内容概要:本文系统研究了基于六种智能优化算法(粒子群PSO、灰狼GWO、鲸鱼WOA、哈里斯鹰HHO、蜣螂DBO、麻雀SSA)的无人机三维路径规划方法,并通过Matlab代码实现了仿真验证。研究构建了一个综合考虑路径长度、飞行高度、环境威胁和转弯角度等因素的多成本目标函数,旨在评估各类算法在复杂三维空间中寻找最优飞行路径的能力。通过对不同算法在收敛速度、寻优精度、路径安全性和稳定性等方面的对比分析,揭示了各算法在处理无人机路径规划这一多目标优化问题时的性能差异与适用边界,为实际工程应用中的算法选择与改进提供了科学依据和技术支撑。; 适合人群:具备一定Matlab编程基础,从事无人机路径规划、智能优化算法研究及相关领域的科研人员、研究生及工程技术开发者。; 使用场景及目标:①应用于复杂地形或城市环境下的无人机自主导航与避障路径规划;②用于系统性比较元启发式优化算法在三维空间路径规划任务中的表现,辅助科研与工程实践中算法的选型、优化与集成; 阅读建议:建议结合提供的Matlab代码进行仿真实验,通过调整环境参数与算法超参数,深入观察各算法的迭代过程与路径生成效果,从而全面理解其搜索机制与性能特征。
内容概要:本文围绕密集型复杂城市环境下的无人机三维路径规划问题,提出一种基于Q-learning强化学习算法的解决方案。通过构建包含建筑障碍物、飞行高度限制、路径长度及安全威胁等多因素的三维空间模型,设计合理的状态空间、动作空间与奖励函数,利用Q-learning算法实现无人机从起始点到目标点的自主避障路径规划。研究重点在于强化学习在复杂动态环境中的应用,采用Matlab进行仿真实验,验证了该方法在生成安全、高效飞行路径方面的有效性与可行性,为无人机在城市空中交通、应急救援与物流配送等场景中的自主导航提供了理论支持和技术路径。; 适合人群:具备一定人工智能、强化学习及路径规划基础知识,从事无人机导航、智能控制、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市环境中的无人机自主飞行系统开发;②为强化学习在三维路径规划中的实际落地提供可复现的Matlab代码实现;③用于对比分析Q-learning与其他智能优化算法在复杂空间中的路径规划性能差异;④支撑智能交通、智慧城市建设中的低空飞行器决策系统研究。; 阅读建议:建议读者结合提供的Matlab代码深入理解算法实现细节,重点关注状态表示设计与奖励机制的构建逻辑,并可通过调整城市环境参数、障碍物密度或引入动态威胁源等方式,进一步测试算法的鲁棒性、收敛性与泛化能力。

18,828

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧