Tutorial for installing Docker on top of Openwrt in MT2500

Hi there,

I have a Brume 2 (MT2500) and I would like to run Docker on top of the default gl.inet release of OpenWrt. I will be running a Unifi Controller as a image in Docker.
However I could not find a straight forward tutorial in gl.inet documentation neither in google. I found out some people installing Ubuntu in the device first and then Docker in Ubuntu, but that`s not what I want, I want to keep OpenWrt.

Is it easy to install Docker in OpenWrt? If someone could point me out to any source of information on that, I would appreciate. Thanks!

Regards,

Here is a tutorial in Chinese that needs to be translated.

2 Likes

Very good and easy tutorial, I havent tested yet but the docker packages installed successfuly and the Dokerman looks good in Luci. Ill work now on creating the Unifi Controller image there.

Thank you very much!

2 Likes

hi, I have a new Brume 2 since yesterday, and today started to put dockerd and dockerman on it. The intention is to run homebridge container on Brume.
I followed the instructions in this post.
However I’m hitting issues when pulling images. Images just don’t pull down and luci hangs, until refreshing.

Inspecting the logs of when docker is installed seems to say that it can’t use /opt/docker location because it’s an overlay on an overlay?

Can you help?

Thanks,
Aidan

Thu May 25 21:54:49 2023 user.notice dockerd-init: Adding interface ‘docker’ to network config

Thu May 25 21:54:49 2023 user.notice dockerd-init: Adding bridge device ‘docker0’ to network config

Thu May 25 21:54:49 2023 user.notice dockerd-init: Adding firewall zone ‘docker’ to firewall config

Thu May 25 21:54:50 2023 user.notice dockerd-init: Drop traffic from eth0 to docker0

Thu May 25 21:54:50 2023 daemon.info avahi-daemon[3747]: Withdrawing address record for ::1 on lo.

Thu May 25 21:54:50 2023 daemon.info avahi-daemon[3747]: Leaving mDNS multicast group on interface lo.IPv6 with address ::1.

Thu May 25 21:54:50 2023 daemon.info avahi-daemon[3747]: Interface lo.IPv6 no longer relevant for mDNS.

Thu May 25 21:54:50 2023 daemon.info avahi-daemon[3747]: Withdrawing address record for fe80::9683:c4ff:fe2a:7d71 on eth0.

Thu May 25 21:54:50 2023 daemon.info avahi-daemon[3747]: Leaving mDNS multicast group on interface eth0.IPv6 with address fe80::9683:c4ff:fe2a:7d71.

Thu May 25 21:54:50 2023 daemon.info avahi-daemon[3747]: Interface eth0.IPv6 no longer relevant for mDNS.

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50Z” level=warning msg=“containerd config version 1 has been deprecated and will be removed in containerd v2.0, please switch to version 2, see containerd/PLUGINS.md at main · containerd/containerd · GitHub

Thu May 25 21:54:50 2023 daemon.err modprobe: failed to find a module named aufs

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.685096013Z” level=warning msg=“failed to load plugin io.containerd.snapshotter.v1.devmapper” error=“devmapper not configured”

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.687414470Z” level=warning msg=“could not use snapshotter devmapper in metadata plugin” error=“devmapper not configured”

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.726940950Z” level=error msg=“failed to initialize a tracing processor "otlp"” error=“no OpenTelemetry endpoint: skip plugin”

Thu May 25 21:54:50 2023 kern.err kernel: [ 240.303322] overlayfs: filesystem on ‘/opt/docker/check-overlayfs-support681172104/upper’ not supported as upperdir

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.856606976Z” level=error msg=“failed to mount overlay: invalid argument” storage-driver=overlay2

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.857025506Z” level=error msg=“exec: "fuse-overlayfs": executable file not found in $PATH” storage-driver=fuse-overlayfs

Thu May 25 21:54:50 2023 daemon.err modprobe: failed to find a module named aufs

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.911413730Z” level=error msg=“AUFS was not found in /proc/filesystems” storage-driver=aufs

Thu May 25 21:54:50 2023 kern.err kernel: [ 240.399548] overlayfs: filesystem on ‘/opt/docker/check-overlayfs-support4185259823/upper’ not supported as upperdir

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.931471864Z” level=error msg=“failed to mount overlay: invalid argument” storage-driver=overlay

Thu May 25 21:54:50 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:50.931575651Z” level=error msg=“Failed to built-in GetDriver graph devicemapper /opt/docker”

Thu May 25 21:54:51 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:54:51.400439031Z” level=warning msg=“Could not load necessary modules for IPSEC rules: protocol not supported”

Thu May 25 21:54:51 2023 daemon.info modprobe: nf_conntrack is already loaded

Thu May 25 21:54:51 2023 daemon.info modprobe: nf_conntrack_netlink is already loaded

Thu May 25 21:54:51 2023 daemon.info avahi-daemon[3747]: Joining mDNS multicast group on interface docker0.IPv4 with address 172.17.0.1.

Thu May 25 21:54:51 2023 daemon.info avahi-daemon[3747]: New relevant interface docker0.IPv4 for mDNS.

Thu May 25 21:54:51 2023 daemon.info avahi-daemon[3747]: Registering new address record for 172.17.0.1 on docker0.IPv4.

Thu May 25 21:54:52 2023 daemon.info avahi-daemon[3747]: Interface docker0.IPv4 no longer relevant for mDNS.

Thu May 25 21:54:52 2023 daemon.info avahi-daemon[3747]: Leaving mDNS multicast group on interface docker0.IPv4 with address 172.17.0.1.

Thu May 25 21:54:52 2023 daemon.info avahi-daemon[3747]: Withdrawing address record for 172.17.0.1 on docker0.

Thu May 25 21:58:06 2023 authpriv.info dropbear[25765]: Child connection from 192.168.0.210:62676

Thu May 25 21:58:09 2023 authpriv.notice dropbear[25765]: Password auth succeeded for ‘root’ from 192.168.0.210:62676

Thu May 25 21:58:31 2023 daemon.err dockerd[17795]: time=“2023-05-25T11:58:31.087179337Z” level=error msg=“Not continuing with pull after error: context canceled”

is anyone having the same problem? And can’t set up dockerman and dockerd on Brume?

My guide is based on MT2500 operation, did you load a special docker image?

So it turns out that the above logs were a red herring.

Dockerman UI kept freezing on me when performing the pull of homebridge image, so I thought it wasn’t working properly. I think Dockerman must have a timeout after clicking pull, and my download from dockerhub just never looked like it finishes. So I turned to system log and thought the problem was these errors above.

Anyway, I switched to CLI and used docker-compose to perform the pull and setup of the container, and it’s working fine now. I have since been using Dockerman GUI with no problems.

1 Like

Do you mind putting that HOW-TO through DeepL? For some reason I’m unable to use any browser’s built in translation feature.

TIA.