Docker Community Forums

Share and learn in the Docker community.

"mount -t overlay" in docker relates on "docker storage driver"?

docker

(Changev) #1

Env:

 Docker version 1.12.0, build 8eab29e
 Host: ubuntu14.04
 Image:based on ubuntu14.04
 part of docker-compose.yml:
       net: "host"
       security_opt:
           - apparmor:unconfined
       privileged: true
 ```
**Background:**
 I'm trying to build a "overlay" in docker.
 *1. create a minimal os using debootstrap tools, store it in a folder.
 *2. create overlay folder upper lower ...... and mount the minimal os folder to overlay lower layer
 *3. mount -t overlay -o rw,upperdir={{ overlayfs_upper_dir }},lowerdir={{ overlayfs_lower_dir }},workdir={{ overlayfs_work_dir }} overlay {{ overlayfs_build_root }}

**And then error occurs:**
"mount: wrong fs type, bad option, bad superblock on overlay,
         missing codepage or helper program, or other error
        In some cases useful info is found in syslog - try
        dmesg | tail or so."

**Solution:**
  the default docker storage driver is aufs, I changed storage driver to overlay with
  "sudo docker daemon -s overlay", and the issue fixed.

**Question:**
 As I understand, storage driver is how Docker stores containers and images.
 Theoretically the type storage driver has nothing to do with “mount operation” in docker.
 So who can help me to answer this question ?

Thanks!

(Nathan Le Claire) #2

I don’t understand why you want to mount an overlay inside of Docker. But it’s likely that you just can’t layer the filesystems of AUFS and overlay together like that, e.g., overlay-on-EXT4 or overlay-on-overlay might be fine but overlay-on-AUFS isn’t safe / supported.