When I attempt to run the Docker Daemon in Tiny Core 8.0, it generates an error stating that 'overlay' is not a supported filesystem on the host. Is there a package that can be installed which will meet this dependency? Searching for the term "overlay" in the Apps cloud did not return any obvious results.

ADDITIONAL DETAILS

I have build 32bit versions of Docker Daemon and Docker Client following the instructions described HERE. I have tested and verified that they function properly on Alpine x86. I am now attempting to configure Tiny Core 8.0 x86 to run these, as it is lighter-weight and much faster boot-up.

Docker crashes with a message about insufficient disk space. Since the same test works on Alpine x86, I suspect the problem is related to the error about 'overlay' filesystem. I would like to address this error first to rule it out as the cause.

For reference, output of the same test on Alpine x86. As you can see, it is nearly identical to the output from TinyCore, but doesn't have the error about 'overlay' filesystem:

It seems to me that the docker model of apps in containers on one kernel is a lot like the hypervisor type 1 model of VMs, except that in theory the containers are smaller than VM's. This might be true if the VM's are running Windows or Ubuntu or RHEL or SLES, but if the VM's are TC then that difference mostly goes away. You're left with the host OS of docker which unless it's TC then it's bigger than ESXi for example. Recompiling the kernel to support docker on TC might solve that problem, but it seems like the separation might still be better in VM's. It sounds like a lot of work for what might turn out to be a wash resource wise.

After all that I would also like to see overlayfs support, but for a different reason. I'd also like to see TC based on LTS kernels too, but I digress...

I apologize for the dumb questions, but this is my first experience building a kernel. I made the config changes and built the tinycore kernel, but now not sure what the next steps should be. If I have a tinycore installation, how to I replace the vanilla kernel with this modified one?

For reference, here is the process I followed to build the kernel:

I began by spinning up a fresh 32bit Ubuntu image, and installed build-dep libncurses5-dev and libncursesw5-dev

gedit .config CONFIG_OVERLAY_FS=y # (plus these two to address some of the other dockerd warnings) CONFIG_MEMCG=y CONFIG_CFS_BANDWIDTH=y

make oldconfigmake menuconfigmake bzImageThis eventually completes with the message "Kernel: arch/x86/boot/bzImage is ready". At this point I am not sure what to do next. Do I just need to take that file and overwrite its counterpart on the existing tinycore installation, or are there other steps?

The bzImage file you made in linux-4.8.17/arch/x86/boot is your kernel. Copy it to your system's boot directory with the other kernels (renaming it as necessary) and copy the existing menu entry in your boot loader for TC to make a new entry using your new kernel. You shouldn't have to change any other entries. You can use the same rootfs and modules. I wouldn't overwrite an existing working entry, but that depends on your confidence level. Good luck.

Thanks again for the help. Booting with the new kernel generates a lot of error messages and freezes. The messages zoom by too fast to read, and I can't scroll back up to see them. I'll try and rebuild the kernel without any config changes, to rule out problems with the build process. I'll also see if I can take a video of the VM as it is booting up and step through the frames to try and read the error messages.

For reference, I used the following commands to add the new kernel to the boot directory:

Building the kernel with no config changes was successful, so I built it with only the CONFIG_OVERLAY_FS parameter set (without the other two config changes). This build booted up successfully, and the Docker Daemon starts without errors.

There are some new errors to fix when I try to launch the Docker Client, but I'll mark this thread as solved since the "overlay not a supported filesystem" issue is resolved.