Building Openwrt Container image - I want to build openwrt container with my packages and run that on Ubuntu VM as container.
Do we have standard instructions or link for that?
Does this help?
Hmm I tried to run Docker OpenWrt Image up using below link:
https://openwrt.org/docs/guide-user/virtualization/docker_openwrt_image?s[]=container
It fails with below step, get stuck while running below command "docker run -i openwrt-x86-generic-rootfs /sbin/init" and services are not coming up:
root@ubuntu:~# docker run -i openwrt-x86-generic-rootfs cat /etc/banner
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -| || | | || || |
|_____|| |||||___||| |____|
|| W I R E L E S S F R E E D O M
ATTITUDE ADJUSTMENT (12.09, r36088)
- 1/4 oz Vodka Pour all ingredients into mixing
- 1/4 oz Gin tin with ice, strain into glass.
- 1/4 oz Amaretto
- 1/4 oz Triple sec
- 1/4 oz Peach schnapps
- 1/4 oz Sour mix
- 1 splash Cranberry juice
root@ubuntu:~# docker run -i openwrt-x86-generic-rootfs ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03
inet addr:172.17.0.3 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:176 (176.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@ubuntu:~# docker run -i openwrt-x86-generic-rootfs /sbin/init
init started: BusyBox v1.19.4 (2013-03-06 20:07:44 UTC)
sysinit: mount: permission denied (are you root?)
sysinit: /etc/rc.common: eval: line 1: can't create /proc/sys/kernel/hostname: Read-only file system
sysinit: date: can't set kernel time zone: Operation not permitted
sysinit: /etc/rc.common: line 85: can't create /proc/sys/kernel/core_pattern: Read-only file system
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Loading defaults
sysinit: sysctl: error setting key 'net.ipv4.tcp_syncookies': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_ecn': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_window_scaling': Read-only file system
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Loading synflood protection
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Adding custom chains
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Loading zones
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Loading forwardings
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Loading rules
sysinit: getsockopt failed strangely: Operation not permitted
sysinit: Loading redirects
sysinit: Loading includes
sysinit: Optimizing conntrack
sysinit: Loading interfaces
sysinit: udhcpc: SIOCGIFINDEX: No such device
sysinit: dnsmasq: setting capabilities failed: Operation not permitted
sysinit: sysctl: error setting key 'kernel.panic': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.conf.default.arp_ignore': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.conf.all.arp_ignore': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.ip_forward': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.icmp_echo_ignore_broadcasts': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.icmp_ignore_bogus_error_responses': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_ecn': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_fin_timeout': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_keepalive_time': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_syncookies': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_timestamps': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_sack': Read-only file system
sysinit: sysctl: error setting key 'net.ipv4.tcp_dsack': Read-only file system
sysinit: sysctl: error setting key 'net.ipv6.conf.all.forwarding': Read-only file system
sysinit: sysctl: error setting key 'net.netfilter.nf_conntrack_acct': Read-only file system
sysinit: sysctl: error setting key 'net.netfilter.nf_conntrack_checksum': Read-only file system
sysinit: sysctl: error setting key 'net.netfilter.nf_conntrack_max': Read-only file system
sysinit: sysctl: error setting key 'net.netfilter.nf_conntrack_tcp_timeout_established': Read-only file system
sysinit: sysctl: error setting key 'net.netfilter.nf_conntrack_udp_timeout': Read-only file system
sysinit: sysctl: error setting key 'net.netfilter.nf_conntrack_udp_timeout_stream': Read-only file system
JFYI my goal is to run my openwrt image (which I have built with my packages) as docker container.
Above steps I just tried to verify how openwrt standard image run as docker conainter on my Ubuntu Host.
wth attitude adjustment?
We just tried to make 12.09 (attitude adjustment), my goal is run on openwrt 18.06.4 version actually.
You probably should use 19.07 or snapshot since there are container related improvements.
And your container needs cap_net_admin.
Thanks, is there any Ubuntu version and Openwrt version is known or listed somewhere? combination of which is already verified i.e. running openwrt as container on Ubuntu host machine.
I have made a build script for LXD (https://github.com/mikma/lxd-openwrt) and I run OpenWrt 19.07.1 as my main router in a LXD containers on Ubuntu 18.04.
OK, Thanks!
As I am trying to run openwrt as docker container, planning to follow this https://github.com/oofnikj/docker-openwrt
not sure what are the configuration parameters changes required in Dockerfile or openwrt.conf to make it work. Didn't get any sample working configuration or guide for reference.
I could not making it working, Openwrt 19.07 as well by following the suggested below link:
https://openwrt.org/docs/guide-user/virtualization/docker_openwrt_image?s[]=container
Got the same error of sysinit service failure and got stuck while executing following command:
root@turmes /home/zoobab [18]# docker run -i openwrt-x86-generic-rootfs /sbin/init
Any pointers or suggestion would be helpful.
My goal is now to first run Openwrt (any version) as docker container, later I will be working to add my packages on top of it (Not sure if packages like strongswan etc. is possible to add in openwrt docker container or not?).
Thanks,
Prashant
Hi, author of https://github.com/oofnikj/docker-openwrt here.
Configuration is set in openwrt.conf. Have a look at openwrt.conf.example for a working example. You will at least need to change the wifi interface name, but otherwise it should work.