Instalacja Dockera na Raspberry Pi

Siema. Dawno nic nie wrzucałem. Dziś znalazłem trochę czasu, żeby wrócić do tematu Raspberry Pi i chciałem zainstalować Dockera na malince, ale jak to zwykle bywa pojawiły się problemy.

Oczywiście wszystko jest w instrukcji na stronie dockera, ale trochę dużo czytania. Wpis dotyczy instalacji na najnowszym Raspbianie Stretch (świeżo zainstalowanym), a instrukcje testowałem na Raspberry Pi Zero W.

TL;DR dla tych co chcą żeby im po prostu działało:

sudo apt-get install dirmngr
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Generalnie jak dogrzebiecie się w tej instrukcji do odpowiedniej metody instalacji, która zadziała na Raspbianie, czyli „convenience script”, to wystarczy odpalić takie 2 polecenia:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

gdzie na końcu powinno pojawić się takie info:

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 to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group grants the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.

Problemy, problemy, problemy

O ile z pobraniem skryptu do uruchomienia nie ma problemu (linijka 1) to próbując uruchomić linijkę 2 pojawia się błąd:

Err:3 https://download.docker.com/linux/debian stretch 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 stretch 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 stretch 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.

Po wyszukaniu w internecie co zrobić z tym okazuje się, że należy dodać klucz publiczny, który się wyświetlił w błędzie do kluczy w repozytorium za pomocą polecenia:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8

Ale to z kolei powoduje błąd:

gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.GCFL3OsJcQ/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr

Więc chwila dalszego googlowania i okazuje się, że w Raspbianie Stretch pakiet dirmngr nie jest domyślnie zainstalowany i trzeba go zainstalować:

sudo apt-get install dirmngr

Teraz już wszystko powinno działać i możemy wykonać polecenia, które nam się wysypały. Czyli jeszcze raz lista poleceń potrzebnych do instalacji:

sudo apt-get install dirmngr
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Po ich wykonaniu powinna się pojawić informacja, o której pisałem wyżej.

W razie czego możemy na koniec wykonać sudo docker version, żeby sprawdzić czy wszystko się poprawnie zainstalowało. W wyniku powinniśmy otrzymać:

Client:
 Version:      18.05.0-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   f150324
 Built:        Wed May  9 22:24:36 2018
 OS/Arch:      linux/arm
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.05.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   f150324
  Built:        Wed May  9 22:20:37 2018
  OS/Arch:      linux/arm
  Experimental: false

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *