Running docker on ubuntu server image

Is it possible to run docker on radxa ubuntu server image (rockpin10bc_ubuntu_bionic_server_arm64_20210125_2038-gpt.img)? When running i have this error:

root@rockpin10bc:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
256ab8fe8778: Pull complete
Digest: sha256:5122f6204b6a3596e048758cabba3c46b1c937a46b5be6225b835d091b90e46c
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: failed to create endpoint flamboyant_carver on network bridge: failed to add the host (vetha9947bb) <=> sandbox (vetha2b5a71) pair interfaces: operation not supported.
ERRO[0004] error waiting for container: context canceled

Tried following instructions from https://wiki.radxa.com/Rockpi4/Docker with same result.

Looks like some kernel option is disabled. How this can be fixed?

operation not supported seems like you need root to make some operations. Did you tried with sudo?

I’m executing command as root.

The issue is caused by missing CONFIG_VETH option in radxa kernel.

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal
IP: 10.0.0.100 172.17.0.1 2002:5fa0:2716:1::1001
[0][19:28][root@rock][~] $ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
256ab8fe8778: Pull complete
Digest: sha256:5122f6204b6a3596e048758cabba3c46b1c937a46b5be6225b835d091b90e46c
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

[0][19:28][root@rock][~] $

No problem on my side.

Linux rock 4.4.154-110-rockchip-gcef30e88a9f5 #1 SMP Mon Jun 22 07:37:10 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
rock@rockpin10bc:~$ uname -a
Linux rockpin10bc 4.4.167-16-rockchip-gd6ee13d61c6d #1 SMP Mon Oct 12 15:02:59 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

Will try a different kernel version, thanks

Can confirm all works on custom kernel with CONFIG_VETH option enabled, so this is a regression in kernel build script.

Hi @Alexey_Guskov

We have fixed this. Please upgrade the kernel to version 4.4.167-20.

root@rockpin10bc:/home/rock# uname -a
Linux rockpin10bc 4.4.167-20-rockchip-g5f826bc48b1e #1 SMP Mon Jun 7 03:46:31 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@rockpin10bc:/home/rock# docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/