gpt4 book ai didi

docker - 无需链接的Docker卷。用例是什么?

转载 作者:行者123 更新时间:2023-12-02 19:43:45 25 4
gpt4 key购买 nike

到目前为止,我真的只将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。这是多重后果,其中:

  • 快速文件系统
  • 在多个容器之间共享卷的能力
  • 持久性(只要存在至少一个使用该卷的容器)

  • 这就是为什么卷不仅是商品,而且对于期望具有良好I / O性能的目录也是必不可少的。

    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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com