玩坏docker笔记(十六):有状态应用的存储

Data Volume

docker提供了两种类型的volume:bind mount和docker managed volume

bind mount

bind mount是将host上已经存在的目录或者文件mount到容器
通过-t将主机上的文件mount到容器中:

docker run -d -p 8080:80 -v ~/htdocs:/usr/local/apache2/htdocs httpd(容器名)

在这里插入图片描述即便是容器删除了,数据还在,因为数据在host主机上,与容器无关。
在这里插入图片描述
可以指定数据的读写权限,默认是可读可写,可指定为只读。
在这里插入图片描述
ro:只读模式。在容器中无法对mount的数据进行修改,只有host主机有这个权限,提高了安全性。
除了mount目录,还可以单独指定一个文件:
在这里插入图片描述使用bind mount单个文件的场景是:只需要向容器中添加文件,不希望覆盖整个目录。
使用场景:将源代码目录mount到容器中,在主机host下改代码就可以看到应用的实时效果。将mysql容器的数据放在mount中,这样host主机可以很方便的备份和迁移数据。
缺点是可移植性差。可以使用docker managed volume 改进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值