locked
How are mapped volumes in LCOW Docker containers implemented? RRS feed

  • Question

  • I am interested to hear a bit about how volumes are implemented in LCOW, LinuxKit based docker containers. Is this described somewhere? I'm particularly interested if it's been designed for intensive I/O, both in regard to latency and throughput.

    I see that on our test server the filesystem type appears to be p9 on top of a file in /tmp..

    [test]: PS C:\Users\paalmbj\Documents> docker run --rm -v c:\:/mnt centos mount
    overlay on / type overlay (rw,relatime,lowerdir=/tmp/base/:/tmp/gcs/e84de904a2231fabe238021d01971363e66959364e4d490987c4bb3f5ff0c173/layer0,upperdir=/tmp/gcs/e84de904a223
    1fabe238021d01971363e66959364e4d490987c4bb3f5ff0c173/scratch/upper,workdir=/tmp/gcs/e84de904a2231fabe238021d01971363e66959364e4d490987c4bb3f5ff0c173/scratch/work)
    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
    tmpfs on /dev type tmpfs (rw,nosuid,size=65536k,mode=755)
    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)
    tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755)
    cpuset on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset)
    cpu on /sys/fs/cgroup/cpu type cgroup (ro,nosuid,nodev,noexec,relatime,cpu)
    cpuacct on /sys/fs/cgroup/cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpuacct)
    blkio on /sys/fs/cgroup/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio)
    memory on /sys/fs/cgroup/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory)
    devices on /sys/fs/cgroup/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices)
    freezer on /sys/fs/cgroup/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer)
    net_cls on /sys/fs/cgroup/net_cls type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls)
    perf_event on /sys/fs/cgroup/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event)
    net_prio on /sys/fs/cgroup/net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_prio)
    hugetlb on /sys/fs/cgroup/hugetlb type cgroup (ro,nosuid,nodev,noexec,relatime,hugetlb)
    pids on /sys/fs/cgroup/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids)
    rdma on /sys/fs/cgroup/rdma type cgroup (ro,nosuid,nodev,noexec,relatime,rdma)
    mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
    shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
    /tmp/gcs/e84de904a2231fabe238021d01971363e66959364e4d490987c4bb3f5ff0c173/binds/mnt on /mnt type 9p (rw,relatime,sync,dirsync,trans=fd,rfdno=6,wfdno=6)
    proc on /proc/bus type proc (ro,relatime)
    proc on /proc/fs type proc (ro,relatime)
    proc on /proc/irq type proc (ro,relatime)
    proc on /proc/sys type proc (ro,relatime)
    proc on /proc/sysrq-trigger type proc (ro,relatime)
    tmpfs on /proc/kcore type tmpfs (rw,nosuid,size=65536k,mode=755)
    tmpfs on /proc/timer_list type tmpfs (rw,nosuid,size=65536k,mode=755)
    tmpfs on /proc/sched_debug type tmpfs (rw,nosuid,size=65536k,mode=755)



    • Edited by paalmbj Tuesday, April 24, 2018 11:21 AM
    Tuesday, April 24, 2018 11:17 AM

Answers

All replies