Docker on Turris Omnia

Hey guys,

I manged to get docker running (more or less) on the Turris Omnia.

I used precompiled armhf binaries from the alpine linux distribution. To circumvent the networking problems described above (and a few more) you need to install following dependencies:

  • kmod-veth
  • kmod-ipt-extra
  • iptables-mod-extra

Here you can find a package compiled for the current released kernel version (4.4.91-e8cacce0ae0bf48eea19d58c2e860359-1): https://mega.nz/#!tOJgGTTB!kUsQX7oC3DKDB6FWYd1nTts4ih-nEt8grv7XSzaonuw

Limitations:

  • Ressource sharing: Since the required cgroups are not enabled in the stock kernel, the docker daemon has no way of limiting the consumption of certain resources for containers. So if you’re running resource hungry containers, they might starve others.
  • Swarm: There is (as far as I could find) no available IP_VS module and the kernel is compiled without support for it. If I remember correctly, this is required to set up the ingress network used by docker in swarm mode to route incoming packets. If you want your router to join a swarm, you will most probably need to compile it yourself (or ask me, I’ve got a working version for the current kernel but I am too lazy to look for it right now since I think that probably noone will want it)

For other geeks that want to take this further, my makefile that I used to build the package (I assume you can understand the folder structure and copy & paste the corresponding files where they belong): https://gist.github.com/DanielSel/e575e189720022eaffd61c2878a41508

@Turris Omnia Team: Would it be possible to enable (at least) the following kernel options at some point in the future?

  • CONFIG_MEMCG_SWAP_ENABLED
  • CONFIG_MEMCG_KMEM
  • CONFIG_BLK_DEV_THROTTLING
  • CONFIG_IOSCHED_CFQ
  • CONFIG_CFQ_GROUP_IOSCHED
  • CONFIG_CGROUP_PERF
  • CONFIG_CGROUP_HUGETLB
  • CONFIG_CGROUP_NET_PRIO
  • CONFIG_CFS_BANDWIDTH
  • CONFIG_FAIR_GROUP_SCHED
  • CONFIG_RT_GROUP_SCHED

Especially the cgroups would make docker more reliable. Thanks!

Have fun and enjoy the rest of your day!

11 Likes