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