* [Buildroot] docker package in buildroot @ 2024-08-20 9:13 Waldemar Brodkorb 2024-08-20 9:45 ` Thomas Petazzoni via buildroot 0 siblings, 1 reply; 5+ messages in thread From: Waldemar Brodkorb @ 2024-08-20 9:13 UTC (permalink / raw) To: buildroot Hi, I would like to test Docker (docker-engine) in Buildroot. When starting a container I get: # docker run nginx docker0: port 1(veth7743781) entered blocking state docker0: port 1(veth7743781) entered disabled state veth7743781: entered allmulticast mode veth7743781: entered promiscuous mode docker0: port 1(veth7743781) entered disabled state veth7743781 (unregistering): left allmulticast mode veth7743781 (unregistering): left promiscuous mode docker0: port 1(veth7743781) entered disabled state docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: error opening file `/proc/self/uid_map`: No such file or directory: unknown. It is inside Qemu aarch64 system with glibc. Is anyone using Docker in Buildroot? Is it a known problem? best regards Waldemar _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] docker package in buildroot 2024-08-20 9:13 [Buildroot] docker package in buildroot Waldemar Brodkorb @ 2024-08-20 9:45 ` Thomas Petazzoni via buildroot 2024-08-20 10:39 ` Waldemar Brodkorb 0 siblings, 1 reply; 5+ messages in thread From: Thomas Petazzoni via buildroot @ 2024-08-20 9:45 UTC (permalink / raw) To: Waldemar Brodkorb; +Cc: buildroot Hello, On Tue, 20 Aug 2024 11:13:25 +0200 Waldemar Brodkorb <wbx@openadk.org> wrote: > I would like to test Docker (docker-engine) in Buildroot. > > When starting a container I get: > # docker run nginx > docker0: port 1(veth7743781) entered blocking state > docker0: port 1(veth7743781) entered disabled state > veth7743781: entered allmulticast mode > veth7743781: entered promiscuous mode > docker0: port 1(veth7743781) entered disabled state > veth7743781 (unregistering): left allmulticast mode > veth7743781 (unregistering): left promiscuous mode > docker0: port 1(veth7743781) entered disabled state > docker: Error response from daemon: failed to create task for > container: failed to create shim task: OCI runtime create failed: > error opening file `/proc/self/uid_map`: No such file or directory: > unknown. > > It is inside Qemu aarch64 system with glibc. Quick question: did you build your kernel with Buildroot, or separately? If you built it with Buildroot, did you build it with Docker already enabled? Indeed the docker-engine package enables a shitload of kernel options: define DOCKER_ENGINE_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) $(DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS) $(DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS) endef Maybe some are missing? :-) Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] docker package in buildroot 2024-08-20 9:45 ` Thomas Petazzoni via buildroot @ 2024-08-20 10:39 ` Waldemar Brodkorb 2024-08-22 14:00 ` Fiona Klute via buildroot 0 siblings, 1 reply; 5+ messages in thread From: Waldemar Brodkorb @ 2024-08-20 10:39 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: buildroot Hi Thomas, Thomas Petazzoni wrote, > Hello, > > On Tue, 20 Aug 2024 11:13:25 +0200 > Waldemar Brodkorb <wbx@openadk.org> wrote: > > > I would like to test Docker (docker-engine) in Buildroot. > > > > When starting a container I get: > > # docker run nginx > > docker0: port 1(veth7743781) entered blocking state > > docker0: port 1(veth7743781) entered disabled state > > veth7743781: entered allmulticast mode > > veth7743781: entered promiscuous mode > > docker0: port 1(veth7743781) entered disabled state > > veth7743781 (unregistering): left allmulticast mode > > veth7743781 (unregistering): left promiscuous mode > > docker0: port 1(veth7743781) entered disabled state > > docker: Error response from daemon: failed to create task for > > container: failed to create shim task: OCI runtime create failed: > > error opening file `/proc/self/uid_map`: No such file or directory: > > unknown. > > > > It is inside Qemu aarch64 system with glibc. > > Quick question: did you build your kernel with Buildroot, or > separately? If you built it with Buildroot, did you build it with > Docker already enabled? Yes, I built the Kernel with Buildroot. I used the qemu-system-aarch64 defconfig and enabled docker. > Indeed the docker-engine package enables a shitload of kernel options: > > define DOCKER_ENGINE_LINUX_CONFIG_FIXUPS > $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) > $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) > $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) > $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) > $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) > $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) > $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) > $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) > $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) > $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) > $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) > $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) > $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) > $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) > $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) > $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) > $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) > $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) > $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) > $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) > $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) > $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) > $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) > $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) > $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) > $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) > $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) > $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) > $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) > $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) > $(DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS) > $(DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS) > endef > > Maybe some are missing? :-) And who knows which one's are missing? :) best regards Waldemar _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] docker package in buildroot 2024-08-20 10:39 ` Waldemar Brodkorb @ 2024-08-22 14:00 ` Fiona Klute via buildroot 2024-08-22 15:52 ` Yann E. MORIN 0 siblings, 1 reply; 5+ messages in thread From: Fiona Klute via buildroot @ 2024-08-22 14:00 UTC (permalink / raw) To: buildroot Am 20.08.24 um 12:39 schrieb Waldemar Brodkorb: > Hi Thomas, > Thomas Petazzoni wrote, > >> Hello, >> >> On Tue, 20 Aug 2024 11:13:25 +0200 >> Waldemar Brodkorb <wbx@openadk.org> wrote: >> >>> I would like to test Docker (docker-engine) in Buildroot. >>> >>> When starting a container I get: >>> # docker run nginx >>> docker0: port 1(veth7743781) entered blocking state >>> docker0: port 1(veth7743781) entered disabled state >>> veth7743781: entered allmulticast mode >>> veth7743781: entered promiscuous mode >>> docker0: port 1(veth7743781) entered disabled state >>> veth7743781 (unregistering): left allmulticast mode >>> veth7743781 (unregistering): left promiscuous mode >>> docker0: port 1(veth7743781) entered disabled state >>> docker: Error response from daemon: failed to create task for >>> container: failed to create shim task: OCI runtime create failed: >>> error opening file `/proc/self/uid_map`: No such file or directory: >>> unknown. >>> >>> It is inside Qemu aarch64 system with glibc. >> >> Quick question: did you build your kernel with Buildroot, or >> separately? If you built it with Buildroot, did you build it with >> Docker already enabled? > > Yes, I built the Kernel with Buildroot. I used the > qemu-system-aarch64 defconfig and enabled docker. > >> Indeed the docker-engine package enables a shitload of kernel options: >> >> define DOCKER_ENGINE_LINUX_CONFIG_FIXUPS >> $(call KCONFIG_ENABLE_OPT,CONFIG_POSIX_MQUEUE) >> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) >> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_SCHED) >> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_FREEZER) >> $(call KCONFIG_ENABLE_OPT,CONFIG_CPUSETS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_DEVICE) >> $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUP_CPUACCT) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NAMESPACES) >> $(call KCONFIG_ENABLE_OPT,CONFIG_UTS_NS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_IPC_NS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_PID_NS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NET_NS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) >> $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE_NETFILTER) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_CONNTRACK) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_IPVS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) >> $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) >> $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) >> $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) >> $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) >> $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) >> $(call KCONFIG_ENABLE_OPT,CONFIG_VETH) >> $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) >> $(call KCONFIG_ENABLE_OPT,CONFIG_KEYS) >> $(DOCKER_ENGINE_DRIVER_BTRFS_LINUX_CONFIG_FIXUPS) >> $(DOCKER_ENGINE_DRIVER_DM_LINUX_CONFIG_FIXUPS) >> endef >> >> Maybe some are missing? :-) > > And who knows which one's are missing? :) My guess is CONFIG_USER_NS. With its default config the Docker engine doesn't use user namespaces, I guess you enabled it in your config? That'd explain why it works with the default setup but fails for you. I have Docker running in Buildroot on aarch64, but my kernel config contains CONFIG_USER_NS already. ;-) Best regards, Fiona _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] docker package in buildroot 2024-08-22 14:00 ` Fiona Klute via buildroot @ 2024-08-22 15:52 ` Yann E. MORIN 0 siblings, 0 replies; 5+ messages in thread From: Yann E. MORIN @ 2024-08-22 15:52 UTC (permalink / raw) To: Fiona Klute; +Cc: buildroot Fiona, All, On 2024-08-22 16:00 +0200, Fiona Klute via buildroot spake thusly: > Am 20.08.24 um 12:39 schrieb Waldemar Brodkorb: > > > On Tue, 20 Aug 2024 11:13:25 +0200 > > > Waldemar Brodkorb <wbx@openadk.org> wrote: > > > > When starting a container I get: [--SNIP--] > > > > docker: Error response from daemon: failed to create task for > > > > container: failed to create shim task: OCI runtime create failed: > > > > error opening file `/proc/self/uid_map`: No such file or directory: > > > > unknown. [--SNIP--] > > > Indeed the docker-engine package enables a shitload of kernel options: > > And who knows which one's are missing? :) > My guess is CONFIG_USER_NS. With its default config the Docker engine > doesn't use user namespaces, I guess you enabled it in your config? > That'd explain why it works with the default setup but fails for you. Thanks for the feedback, and for confirming USER_NS is needed; Waldenar already sent a patch enabling USER_NS: https://lore.kernel.org/buildroot/ZsWTTvL0qv6By7lK@landeda/T/#mc8b308c86882ccd8934dd24f9c6a55028861be39 However, I had some comments on it: https://lore.kernel.org/buildroot/ZsWTTvL0qv6By7lK@landeda/T/#mc49f4054e2612b4c432c63b12e9112e06ff9b863 Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-08-22 15:52 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-08-20 9:13 [Buildroot] docker package in buildroot Waldemar Brodkorb 2024-08-20 9:45 ` Thomas Petazzoni via buildroot 2024-08-20 10:39 ` Waldemar Brodkorb 2024-08-22 14:00 ` Fiona Klute via buildroot 2024-08-22 15:52 ` Yann E. MORIN
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox