Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
lamba92 opened this issue Jun 5, 2020 · 20 comments
Open

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

lamba92 opened this issue Jun 5, 2020 · 20 comments

Comments

@lamba92
Copy link

lamba92 commented Jun 5, 2020

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
Copy link

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
Copy link

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
Copy link

jeskesen commented Aug 8, 2020

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
Copy link

rjgould commented Aug 11, 2020

Same issue here, also on a Raspberry Pi 2

@Avilad
Copy link

Avilad commented Aug 11, 2020

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

@Zsub
Copy link

Zsub commented Aug 21, 2020

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

@HrGaertner
Copy link

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

@rafaelreis-r
Copy link

Yup. Can confirm this on a raspberry pi 2

@thkien1990
Copy link

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

@tonymadbrain
Copy link

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

@rafaelreis-r
Copy link

rafaelreis-r commented Sep 24, 2020 via email

@vinser
Copy link

vinser commented Oct 10, 2020

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
Copy link

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
Copy link

HrGaertner commented Dec 2, 2020 via email

@neoswallow
Copy link

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
Copy link

HaldiH commented Jan 22, 2021

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
Copy link

xoxefdp commented Apr 12, 2021

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
Copy link

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
Copy link

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
Copy link

c7w commented Aug 25, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests