@carsten, it is possible to run dockerd and docker containers in TC x86_64 10.x without either rebuilding the kernel or building a tiny core package. I am doing it right now. Docker's documentation reveals that a kernel with overlay is required for docker only when using the default docker filesystem, but not if you use, e.g., btrfs for your docker filesystem.
1. These are required for docker:
net-bridging-4.19.10-tinycore64.tcz
iptables.tcz
openssl.tcz
ca-certificates.tcz
2. And these are required for btrfs:
raid-dm-4.19.10-tinycore64.tcz
filesystems-4.19.10-tinycore64.tcz
3. And this is required once to create a new btrfs volume:
btrfs-progs.tcz
4. Create a btrfs volume. (May require a bit of research.)
5. Create /etc/docker/daemon.json:
{
"storage-driver": "btrfs"
}
6. Download this cgroupfs-mount script:
wget https://raw.githubusercontent.com/tianon/cgroupfs-mount/master/cgroupfs-mount
chmod 755 cgroupfs-mount
7. Do these:
sudo ln -s /usr/local/etc/ssl /etc/ssl
sudo addgroup docker
sudo addgroup tc docker
8. Add these to /opt/.filetool.lst:
/etc/passwd
/etc/group
/etc/shadow
/etc/gshadow
/usr/local/etc/ssh
/etc/docker/daemon.json
9. Use filetool.sh to backup the paths in .filetool.lst:
filetool.sh -b
10. Add this to /opt/bootlocal.sh or /opt/bootsync.sh:
modprobe btrfs
mkdir -p /var/lib/docker
mount <partition with your new btrfs volume> /var/lib/docker
export DOCKER_RAMDISK=true
ulimit -Hn 65535
ulimit -Sn 65535
/path/to/your/cgroupfs-mount
/path/to/your/dockerd >/home/tc/dockerd.log 2>&1 &
11. reboot and try
docker run hello-world
As a side-benefit, containers run faster than on Ubuntu because of missing dependencies that docker normally uses to throttle the containers.
(refs: I borrowed some code from the first two code blocks of
@paulscode)