Hi, I’d like to install Docker Engine on the latest Raspberry Pi 5, running on the latest Raspberry Pi OS 64-bit:
Release date: December 5th 2023
System: 64-bit
Kernel version: 6.1
Debian version: 12 (bookworm)
Sorry to disappoint, but I am not a Docker captain. I am merely a community member who just happen to know one or two things that I learned using docker over the last 9 years.
I can only assume that the 64bit Pi OS is still too new to be already covered by the docs. You might want to raise an issue and specifically ask for the RPi OS 64bit support.
It seems you don’t know what a Docker captain is. In case you want to know more about them:
So they are not Docker Staff members and hey will not update the official documentation.
Regarding your question, if yo are not sure the installation steps work, I suggest you try it. If you have an error message, you can share it. Even if the Debian way works, if it isn’t mentioned in the documentation, it is probably not supported. If you think the documentation should be updated, you can ask for it. You can find a 'Request changes" link in the top right corner on the pages of the documentation. Or you can ask for features in the roadmap.
I also moved the topic to the Docker Engine category as you don’t use Docker Desktop. And finally, please, don’t open a new topic fo the same question if you are not satisfied with the answer Thank you. I merged the two topics.
#Hit:1 http://deb.debian.org/debian bookworm InRelease
#Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
#Get:3 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kBJ
#Get:4 https://download.docker.com/linux/debian bookworm InRelease [43.3 kB]
#Hit:5 http://archive.raspberrypi.com/debian bookworm InRelease
**Err:4 https://download.docker.com/linux/debian bookworm InRelease**
**The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8**
Reading package lists... Done
**W: GPG error: https://download.docker.com/linux/debian bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8**
**E: The repository 'https://download.docker.com/linux/debian bookworm InRelease' is not signed.**
**N: Updating from such a repository can't be done securely, and is therefore disabled by default.**
**N: See apt-secure(8) manpage for repository creation and user configuration details.**
@rimelek, thanks for your reply with clarification/correction/suggestion.
How to overcome this GPG error so I can proceed to the next step, please?
$ sudo apt-get install ca-certificates curl gnupg
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ca-certificates is already the newest version (20230311).
curl is already the newest version (7.88.1-10+deb12u4).
gnupg is already the newest version (2.2.40-1.1).
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/debian/gpg| sudo gpg -dearmor -o /etc/apt/keyrings/docker.gpg
File '/etc/apt/keyrings/docker.gpg' exists. Overwrite? (y/N) y
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$
$
$ sudo apt-get update
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Get:4 https://download.docker.com/linux/debian bookworm InRelease [43.3 kB]
Err:4 https://download.docker.com/linux/debian bookworm InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
Hit:5 http://archive.raspberrypi.com/debian bookworm InRelease
Reading package lists... Done
W: GPG error: https://download.docker com/linux/debian bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
E: The repository https://download.docker.com/linux/debian bookworm InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
$
$
And below is the output of sudo apt-get update command that ran yesterday:
-dearnor ??? It is supposed to be --dearmor. Two dashes and “dearmor” with “m” not “n”.
The GPG key is possibly in a base64 format and if that is the case the “asc” extension would be required instead of “gpg”. Fix the parameter and try to save the gpg file again. I’m surprised you didn’t get an error message for using an invalid parameter.
Any other suggestions to fix this GPG error, please?
I ran again and same error persists:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$
$
$ echo \
> "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
> $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
> sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
Get:3 https://download.docker.com/linux/debian bookworm InRelease [43.3 kB]
Hit:4 http://deb.debian.org/debian bookworm-updates InRelease
Err:3 https://download.docker.com/linux/debian bookworm InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
Hit:5 http://archive.raspberrypi.com/debian bookworm InRelease
Reading package lists... Done
W: GPG error: https://download.docker com/linux/debian bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
E: The repository 'https://download.docker.com/linux/debian bookworm InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
$
$
@rimelek , @meyay , it always had been typed/executed -dearmor.
Note: I edited/corrected my yesterday’s reply to correct the typo (by the OCR used to capture the text directly from my display).
If the GPG key is (possibly) in a base64 format, could you provide the command line for the “asc” extension (instead of “gpg” extension), please?
Any other suggestions to fix this GPG error, please?
Test if it is. I usually use the “less” command just because it tells me if the file is binary and it shows the content if it is not. But if you really passed the right parameter, it must be in the correct format.
I never installed Docker on Rasberry PI, never even used Rasberry PI. The 64 bit Rasberry PI is not supported by Docker officially, so since I don’t know what else could be the problem, can I suggest asking your question on a Rasberry forum as well? There could be someone who managed to install Docker on it.
Have you also tried to search for the “Docker rasberry 65 bit” keywords on Google?
I don’t know what rasberry changes in the base Debian distro but if they change anything related to how gpg keys are handled that could be your problem. People usually wrote on stackoverflow and other places the problem was that the GPG key was not readable. So make sure it is and also check the content of the docker.list file . You can share that here if you are not sure if it is correct or not.
Hello, so I have followed the instructions here: Install Docker Engine on Debian | Docker Docs and it worked for me. So if the problem with GPG was on Docker’s side, they seem to have fixed it.
Hi.
Did you install it on a Rasberry Pi 4, or Raspberry Pi 5 ?
I manage to install Docker on a fresh new Raspberry Pi OS 64bit, on my Raspberry Pi4, using the convenience script.
But when I do it on my Raspberry Pi5 (still fresh new image deployed, on the same 1TB SSD), after some time & steps passed I get an error, “filesystem is read-only”.
Everything’s locked, impossible to pass a single SSH command.
It happens more or less during the big apt-get install commands. I flashed again a fresh image, and retried, many times…still getting the same issue.
After googling it, I bought an official Raspberry Pi5 power supply : still getting exactly the same error.
If you have any idea which can help me a bit, you’re highly welcome !
Hi, it was Raspi 5, 8GB with the desktop version of OS 64bit. I installed it through SSH from my actual PC. I only tried the docker apt repository way, and it worked. I mostly stay away from the convenience script, because I am too lazy to think about the implications. By the looks of it, @cyclicalobsessive also used the repository way as described in docker docs.
I finally managed to troubleshoot the issue…sort of.
I tried installing docker on a USB key, using same USB 3.0 port where the SSD was, and it worked like a charm.
So it is definitely my SSD, or the USB 3.0 case/interface that I use, which is not compatible with the raspberry Pi 5.
The following packages have unmet dependencies:
docker-ce : Depends: iptables but it is not installable
Recommends: docker-ce-rootless-extras but it is not going to be installed
Recommends: git but it is not installable
Recommends: libltdl7 but it is not installable
Recommends: pigz but it is not installable
E: Unable to correct problems, you have held broken packages.
Are you using a clean install of Rasberry pi os? Iptables shouldn’t be not installable… I just installed docker last night on a rpi5 without issues. I would reinstall RPi OS and try again…
I just tried this on my Pi 5 running Pi OS Lite (64-bit)
Everything worked but when I run the last line docker run hello-world
I get the output
docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
I didn’t have this problem on the same device running ubuntu server but I want to get it working on Pi OS Lite
Then run it as root (sudo docker) or add your user to the docker group. Assuming the socket is owned by that group on RPI as well. But the problem itself doesn’t seep related to RPI you should find many solution on Google, so I assume you tried to search and didn’t work?
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/library/hello-world/manifests/sha256:d000bc569937abbe195e20322a0bde6b2922d805332fd6d8a68b19f524b7d21d": dial tcp [2600:1f18:2148:bc00:8d61:9b62:40aa:8bb8]:443: connect: network is unreachable.
See 'docker run --help'.