作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
到目前为止,我真的只将VOLUME理解为一种
VOLUME /path/to/app
或更糟糕的
VOLUME /var/lib/mysql
的Dockerfile。我了解您可能想创建一个具有此卷的容器,然后使用
--volumes-from
链接到该容器以实现持久性。但是,为什么要在实际使用该数据的容器内制定该规范。有什么帮助?据我所知,
VOLUME /var/data
与仅说
RUN mkdir /var/data
没有什么不同。当卷不在数据容器内,不与主机共享或被其他容器使用时,卷有何益处?
最佳答案
Docker镜像和Docker容器具有分层的文件系统,速度很慢。通过将目录定义为数据卷,您可以指示docker进入let those directories outside of the slow layered file system。这是多重后果,其中:
As far as I can see, VOLUME /var/data is not any different than just saying RUN mkdir /var/data.
/var/data
是不同(且速度更快)文件系统上的安装点。通过在容器中运行
/var/data
命令,您可以见证
mount
不仅仅是另一个目录:
$ docker run --rm -v /var/data busybox mount
rootfs on / type rootfs (rw)
none on / type aufs (rw,relatime,si=6c354c296f850c3c)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,mode=755)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
/dev/mapper/vg0-root on /etc/resolv.conf type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /etc/hostname type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /etc/hosts type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/vg0-root on /var/data type ext4 (rw,relatime,errors=remount-ro,data=ordered)
proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/irq type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/bus type proc (ro,nosuid,nodev,noexec,relatime)
tmpfs on /proc/kcore type tmpfs (rw,nosuid,mode=755)
/
位于分层(且缓慢)分层文件系统
aufs 上
/var/data
在
ext4 (快速)文件系统上
关于docker - 无需链接的Docker卷。用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26556765/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!