Bereiche
Bereich Docker
Allgemein
Parameter
Anwendungen
- Mattermost
- Unifi-Video
Dies ist eine alte Version des Dokuments!
Die Repositories der meisten Linux-Distributionen dürften Docker-Pakete enthalten, nur sind diese nicht mehr ganz taufrisch hoffnungslos veraltet. Daher sollte man das Repository auf download.docker.com einbinden und das jeweils neueste Paket docker-ce
aus diesem Repository installieren.
Neben der Möglickeit die einzelnen Schritte von Hand vorzunehmen, kann man auch das sogenannte Convenience Script benutzen, das abhängig von der verwendeten Distribution sämtliche Schritte automatisiert durchführt.
root
-Rechten gestartet, jedoch benutzt es sudo
.
Sofern es einer interessierten Seite gelingt, das Script auf der Webserver mit einer Version, die böstrigen Code enthält, zu ersetzen, kann die Sicherheit des Systems gefährdet sein.
Die Empfehlung, das Script vorab zu untersuchen, ist aus meiner Sicht aufgrund der Komplexität des Scriptes unrealistisch.
Der sicherste Weg der Installation bleibt somit der hier noch nicht beschriebene manuelle Weg. Der in der Folge dargestellte Ablauf der scriptgesteuerten Installation kann Anhaltpunkte für das manuelle Vorgehen geben.
Die aktuelle Version des Convinience Scripts herunterladen:
curl -fsSL get.docker.com -o get-docker.sh
Das Script ausführen (mit Ausgabe des Scriptes):
me@raspi:~ $ sh get-docker.sh # Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c + sudo -E sh -c apt-get update -qq >/dev/null [sudo] Passwort für me: + sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null + sudo -E sh -c curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | apt-key add -qq - >/dev/null Warning: apt-key output should not be parsed (stdout is not a terminal) + sudo -E sh -c echo "deb [arch=armhf] https://download.docker.com/linux/raspbian buster stable" > /etc/apt/sources.list.d/docker.list + sudo -E sh -c apt-get update -qq >/dev/null + [ -n ] + sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null + sudo -E sh -c docker version 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:02 2020 OS/Arch: linux/arm Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46 Built: Wed Sep 16 17:00:52 2020 OS/Arch: linux/arm Experimental: false containerd: Version: 1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683 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 me Remember that you will have to log out and back in for this to take effect! WARNING: Adding a user to the "docker" group will grant 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.
Der Befehl docker
kann nur von Mitgliedern der Gruppe docker
oder mit Administratorrechten (z.B. per sudo
) aufgerufen werden. Um auf die Verwendung von sudo
verzichten zu können, kann man den jeweiligen Benutzer in die Gruppe docker
aufnehmen:
sudo usermod -aG docker $USER
root
-Rechten auf dem Docker-Host laufen, kann dieses Vorgehen neue Angriffsmöglichkeiten eröffnen (vgl. Docker daemon attack surface).
Aus meiner Sicht muss man hier im Einzelfall Pro und Kontra abwägen. Weiterhin würde ich nur Benutzer in die Gruppe docker
aufnehmen, denen man in soweit vertraut, dass die zu den Sudoers gehören.
Auch bei der Installation von docker-compose
muss man sich entscheiden, über welchen Weg man die Installation vornimmt. In den Repositories findet sich zumeist ein entsprechendes Paket, das jedoch nicht mehr ganz taufrisch ist. Über pip3
kann man eine aktuellere Version installieren. Bei diesem Installationsweg muss bei Updates daran denken, dass man mit pip3 Install –upgrade docker-compose
das Aktualisieren manuell anstoßen muss.
Raspbian Buster (25.09.2020) | |
---|---|
Installationsweg | verfügbare Version |
Repository | 1.21.0-3 |
pip3 Install –upgrade docker-compose | 1.27.4 |
Zunächst sind die notwendigen Pakete zu installieren:
sudo apt-get install -y libffi-dev libssl-dev sudo apt-get install -y python3 python3-pip sudo apt-get remove python-configparser
Das Entfernen von python-configparser
ging bei mir ins Leere, weil dieses Paket nicht installiert war.
Danach wird docker-compose
mit pip3
installiert:
sudo pip3 -v install docker-compose