[OpenWrt-Devel] running docker on openwrt?

Daniel Golle daniel at makrotopia.org
Sun Oct 7 11:00:26 EDT 2018


On Sun, Oct 07, 2018 at 04:54:42PM +0200, Torbjorn Jansson wrote:
> On 2018-09-30 16:21, Daniel Golle wrote:
> > On Sun, Sep 30, 2018 at 02:18:54PM +0200, Torbjorn Jansson wrote:
> > > On 2018-09-30 13:59, Daniel Golle wrote:
> > > > On Sun, Sep 30, 2018 at 12:21:12PM +0200, Torbjorn Jansson wrote:
> > > > > Hello.
> > > > > 
> > > > > a question, is it possible to run docker on openwrt?
> > > > > reason for asking is that i got a raspberrypi running openwrt and it got
> > > > > plenty of storage space and is mostly sitting idle so if i can run docker on
> > > > > it i might be able to consolidate some of the other pis i have for various
> > > > > purposes.
> > > > > 
> > > > > i know you can do it the other way around, running openwrt in a docker
> > > > > instance on a regular computer but can you get docker itself to run under
> > > > > openwrt?
> > > > > 
> > > > > ideas, suggestions?
> > > > 
> > > > Just use LXC, that works well on OpenWrt, I'm using that to run various
> > > > containers running Debian and OpenWrt on top of OpenWrt.
> > > > (but you need to compile it yourself because many of the kernel options
> > > > needed for containers aren't enabled by default)
> > > > 
> > > > Docker didn't attract a lot of interest because it is x86_64 and
> > > > ARM-only, so 80% of OpenWrt-supported devices aren't supported by
> > > > Docker which doesn't provide images for MIPS-like CPUs.
> > > > 
> > > > However, now that Golang has been added to the packages feed we could
> > > > package Docker at least for the platforms supported by it...
> > > > 
> > > 
> > > ok, i see.
> > > i've never tried lxc and i think docker also needs some extra kernel config
> > > options for it to work.
> > > 
> > > i ran the script from:
> > > https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh
> > > on one of my boxes and it complained about:
> > > - CONFIG_NAMESPACES: missing
> > > - CONFIG_NET_NS: missing
> > > - CONFIG_PID_NS: missing
> > > - CONFIG_IPC_NS: missing
> > > - CONFIG_UTS_NS: missing
> > > - CONFIG_CGROUPS: missing
> > > - CONFIG_CGROUP_CPUACCT: missing
> > > - CONFIG_CGROUP_DEVICE: missing
> > > - CONFIG_CGROUP_FREEZER: missing
> > > - CONFIG_CGROUP_SCHED: missing
> > > - CONFIG_CPUSETS: missing
> > > - CONFIG_MEMCG: missing
> > > - CONFIG_NETFILTER_XT_MATCH_IPVS: missing
> > > - CONFIG_POSIX_MQUEUE: missing
> > > 
> > > and then there were a bunch of optional features also missing.
> > 
> > For now the binary distribution doesn't have all those kernel features
> > enabled. You need to compile from source and make sure that
> > CONFIG_LXC_KERNEL_OPTIONS is set, this selects all the kernel options
> > needed to run containers.
> > 
> 
> a followup question, where in the "make menuconfig" menu system do i find LXC?
> i have looked everywhere and it is nowhere to be found.
> if i add CONFIG_LXC_KERNEL_OPTIONS=y manually to .config and then run "make
> menuconfig" the LXC option disappears.
> 
> i can't figure out what (if any) dependencies i have to select first to make
> it show up.

you need to install LXC from the packages feed.
ie.
```
scripts/feeds update packages
scripts/feeds install lxc
```
should do the trick.


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list