docker / for-linux

Docker Engine for Linux
https://docs.docker.com/engine/installation/
755 stars 86 forks source link

Docker CE armhf build not available for Ubuntu Focal Fossa #1035

Open lamba92 opened 4 years ago

lamba92 commented 4 years ago

I just installed Ubuntu 20.04 Server on my Raspberry Pi 2b and the output for curl -fsSL https://get.docker.com | sudo sh is:

# Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sh -c echo "deb [arch=armhf] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ [ -n  ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
E: Package 'docker-ce' has no installation candidate

Installation went fine on 2 Raspberry Pis 4 with Ubuntu 20.04 Server.

Am I missing something?

minusdelta commented 4 years ago

Am I missing something?

I believe, no. Official install guide lists Ubuntu Focal 20.04 (LTS) and armf as supported, but https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/ has amd64 and arm64 only (consequently https://download.docker.com/linux/ubuntu/dists/focal/stable/Contents-armhf and https://download.docker.com/linux/ubuntu/dists/focal/stable/Contents-ppc64el are zero bytes).

number42net commented 4 years ago

I ran into the same problem here. If you look at the file size of "Contents-armhf" is zero bytes and there is no binary directory either.

https://download.docker.com/linux/ubuntu/dists/focal/stable/

jeskesen commented 4 years ago

Yeah, I just ran into this when bringing my Odroid-C1 back to life after a few years offline. It'd be a shame to have to revert back to 18.04 after I just did a fresh install to get to 20.04.

rjgould commented 4 years ago

Same issue here, also on a Raspberry Pi 2

Avilad commented 4 years ago

Same issue for me, on an Odroid-XU4 running Armbian Focal

Zsub commented 4 years ago

Having the same issue. Maybe the armhf build has somehow crashed? Or is docker-ce simply sunsetting armhf support?

HrGaertner commented 4 years ago

Same issue on my mycloud mirror gen 2 with ubuntu on it

rafaelreis-r commented 4 years ago

Yup. Can confirm this on a raspberry pi 2

thkien1990 commented 4 years ago

Same issue for me, Amlogic S805 with armbian and cannot install docker with this guide https://docs.docker.com/engine/install/ubuntu/#prerequisites

tonymadbrain commented 4 years ago

I guess we should stop writing "same issue" to prevent spam and just +1 on the issue starter message.

rafaelreis-r commented 4 years ago

I was able to get around it by adding 18.04 repository to apt list. Works perfectly.

On Tue, Sep 22, 2020 at 1:00 PM Antony notifications@github.com wrote:

I guess we should stop writing "same issue" to prevent spam and just +1 on the issue starter message.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/docker/for-linux/issues/1035#issuecomment-696814782, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWUIYIJJ3K2FJ22UYIIBUTSHDCYDANCNFSM4NUUIRXA .

vinser commented 4 years ago

I was able to get around it by adding 18.04 repository to apt list. Works perfectly.

I've used this fine bionic trick since the end of July 2020 and hoped that armhf focal release should comin soon. But yesterday I made stupid apt upgrade of my Armbian focal and bionic docker stopped to start on it but proper docker is not ready yet. :(

cameronbunce commented 4 years ago

To clarify and expand, using 20.04 is not yet supported by the script as there is no "docker-ce" candidate for "focal"

watching the output of the script

# Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c + sh -c apt-get update -qq >/dev/null + sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null + sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null Warning: apt-key output should not be parsed (stdout is not a terminal) + sh -c echo "deb [arch=armhf] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list + sh -c apt-get update -qq >/dev/null + [ -n ] + sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null E: Package 'docker-ce' has no installation candidate

the install script does only a few things that can be done manually as follows: apt update apt-get install -y -qq apt-transport-https ca-certificates curl curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - echo "deb [arch=armhf] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list

Then it updates the apt configuration and tries to pull the docker-ce installation which fails. If you've tried to run the script, then all you need to do is replace the 20.04 identifier 'focal' with the identifier for 18.04 'bionic' in the following command [as root of course, so I'm showing my session and not just the command for a change] :

root@odroid:~# echo "deb [arch=armhf] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list then update apt

apt update

and watch for the output to change - notice the version:

sudo apt update Hit:1 http://deb.odroid.in/5422-s focal InRelease Hit:2 http://ppa.launchpad.net/hardkernel/ppa/ubuntu focal InRelease
Get:3 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]
Hit:4 http://ports.ubuntu.com/ubuntu-ports focal InRelease Hit:5 http://ports.ubuntu.com/ubuntu-ports focal-updates InRelease Hit:6 http://ports.ubuntu.com/ubuntu-ports focal-backports InRelease Hit:7 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease Get:8 https://download.docker.com/linux/ubuntu bionic/stable armhf Packages [12.9 kB] Fetched 77.4 kB in 3s (29.0 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date.

Now pull down docker-ce:

sudo apt install docker-ce

Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libdrm-common libdrm2 libegl-mesa0 libegl1 libgbm1 libglapi-mesa libgles2 libglvnd0 libwayland-server0 libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-present0 libxcb-sync1 libxcb-xfixes0 libxshmfence1 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: apparmor cgroupfs-mount containerd.io docker-ce-cli git git-man liberror-perl libltdl7 pigz Suggested packages: apparmor-profiles-extra apparmor-utils gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn The following NEW packages will be installed: apparmor cgroupfs-mount containerd.io docker-ce docker-ce-cli git git-man liberror-perl libltdl7 pigz 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. Need to get 14.4 MB/69.6 MB of archives. After this operation, 314 MB of additional disk space will be used. Do you want to continue? [Y/n] y

After this - which we wouldn't see yet if we've only seen the script fail - the script checks Docker by asking the installed version

docker version

to which you may see some incomplete information if you are not root -

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:23 2020 OS/Arch: linux/arm Experimental: false Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix /var/run/docker.sock: connect: permission denied

and the script has advice for this -

If you would like to use Docker as a non-root user, you should now consider adding your user to the \"docker\" group with something like:

sudo usermod -aG docker $your_user Remember that you will have to log out and back in for this to take effect!

I hope this helps!

HrGaertner commented 3 years ago

But only Ubuntu works on my device...

Am Dienstag, 1. Dezember 2020 schrieb SLAzurin:

One solution would be to change distro to Debian Buster. It is working for both Raspberry Pi OS and Armbian on armhf arch.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/docker/for-linux/issues/1035#issuecomment-73684691

neoswallow commented 3 years ago

I have same issue on RPi 3b with Ubuntu 20.10 groovy. Added repo as instructed but docker-ce candidate is missing and docker-ce-cli and containerd.io are not found.

HaldiH commented 3 years ago

I encounter the same issue. Currently I am using the Debian Buster packages, but it would be great to make it work right out of the box. Furthermore, at anytime, an update could break the dependencies, making it not suitable for production use.

On this page it said that docker provides packages for Ubuntu on armhf. But only Ubuntu Eoan has packages for armhf architecture, Ubuntu Focal being the latest LTS.

It has been 7 months since the issue has been opened, could someone do something about this?

xoxefdp commented 3 years ago

I have the same problem here, i got 2 raspberry pis, the 3 one with armhf and the 4 one with arm64

I followed the official installation guide for both on 20.04, and ended in not having an available candidate for armhf

Área de trabajo 1_415

I checked at the repository references and saw there was one for both arm architectures (hf / 64), but zero bytes on armhf (also on ppc64el)

Área de trabajo 1_416

And finally the pool

Área de trabajo 1_413

And bingo, there is no pool reference for armhf in official repository, also has been 3 months since first report about this opened

bigbrovar commented 3 years ago

This is the price to pay when a achieves overwhelming success. edge cases don't get prioritized. It is just one more reason to appreciate the work that the folks at Debian do. It is not easy to maintain (consistently) multiple arch support. Fancy new projects have short attention span once you are outside of the mainstream.

fscarponi commented 3 years ago

I just installed Ubuntu 20.04 Server on my Raspberry Pi 2b and the output for curl -fsSL https://get.docker.com | sudo sh is:

# Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sh -c echo "deb [arch=armhf] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ [ -n  ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
E: Package 'docker-ce' has no installation candidate

Installation went fine on 2 Raspberry Pis 4 with Ubuntu 20.04 Server.

Am I missing something?

how I solved:

Actually, you can install docker without problem via apt sudo apt install docker.io for run docker on start sudo systemctl enable --now docker

for docker-compose, you need to use PIP

sudo apt install -y python3-pip libffi-dev

sudo apt update

if you have some failed installation of compose run sudo apt-get remove docker-compose

finally sudo pip install docker-compose

From the official doc: DOC install-compose -> Alternative install options

Compose can be installed from pypi using pip. If you install using pip, we recommend that you use a virtualenv because many operating systems have python system packages that conflict with docker-compose dependencies. See the virtualenv tutorial to get started.

c7w commented 3 years ago

Actually, as @rafaelreis-r mentioned, bionic(18.04) version worked well on focal(20.04).

We could just make a small change in the installation step.

When setting up the remote repo address, formerly we use

echo \ "deb [arch=armhf signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

where $(lsb_release -cs) would get focal if you are ubuntu 20.04

We could just set it to bionic

echo \ "deb [arch=armhf signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ bionic stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Then by sudo apt update, it worked well for me.