Docker on Raspbian 64 bit with arm64v8 image

Hello!

I am trying do deploy an image, which is build on CentOS 8 for arm64v8 (pulled from docker hub). The container keeps on exiting and I don’t get any errors, other than error code 159, which seems to suggest issues with the OS architecture.

docker logs nameOfContainer

Doesn’t show anything either.

I have Raspbian Buster 64 bit installed. It was 32 bit first and then I upgraded with

sudo rpi-update

I have reinstalled docker with

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo reboot
sudo apt-get install docker-ce docker-ce-cli containerd.io

.

docker version

shows

Client: Docker Engine - Community
Version:           19.03.13
API version:       1.40
Go version:        go1.13.15
Git commit:        4484c46
Built:             Wed Sep 16 17:07:02 2020
OS/Arch:           linux/arm
Experimental:      false

Should it be of concern, that it still reads linux/arm instead of something more 64bity?

Any more ideas on how to troubleshoot this exits with not error message issues?

Thanks

1 Like

Hello?

You need to install Raspberry Pi OS 64-bit version.

I also installed stable version(32-bit) and upgraded. the kernel is 64-bit but system still 32-bit (at least package manager still use 32-bit binary: dpkg --print-architecture).
I think rpi-update didn’t upgrade whole system.

I downloaded/installed 64-bit version OS from raspios_arm64.
And, followed the guide how to install Docker engine on Debian.

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:55:56 2021
  OS/Arch:          linux/arm64
  Experimental:     false

Did you install docker using the repository or convenience script? The docker docs say Raspbian users must use the convenience scripts, though I’m not sure if that is only for 32-bit.

Did you install docker using the repository or convenience script?

repository, I didn’t use convenience script.

I roughly saw the convenience script.
I think you can use the convenience script. it seems to automate manual steps in the guide.


When I installing Docker, I added deb http://deb.debian.org/debian testing main into /etc/apt/sources.list.
I am not sure it is necessary or not.

Raising this thread from the dead but I had the same issue. Here’s what I realised: at some point when installing Docker I ran:

echo "deb [arch=armhf] https://download.docker.com/linux/debian \
    $(lsb_release -cs) stable" |     sudo tee /etc/apt/sources.list.d/docker.list

But armhf is not what we want. I reran it with arch=arm64, uninstalled Docker, reinstalled, and then I was good to go.