So installieren Sie Docker auf Raspberry Pi

So installieren Sie Docker auf Raspberry Pi

Da Raspberry Pi auf der ARM-Architektur basiert, unterscheiden sich auch die Installation und Verwendung von Docker. Es gibt eine Menge Inhalte, die besprochen werden müssen, deshalb werde ich sie hier nur herausgreifen.

Raspberry Pi basiert auf der ARM-Architektur, die sich vom PC unterscheidet. Selbst wenn Sie einige Docker-Images auf dem Raspberry Pi erstellen können, können Sie diese nicht auf anderen PCs ausführen. Umgekehrt können Docker-Images auf anderen PCs nicht auf dem Raspberry Pi ausgeführt werden.

Wenn Sie ein Raspberry Pi-spezifisches Image suchen, suchen Sie einfach auf Dockerhub nach ARM oder Rpi .

Es gibt ein Lager namens Hypriot , das viele Docker speziell für Raspberry Pi erstellt hat. Sie können darauf verweisen.

Raspberry Pi-Referenz: Holen Sie sich Docker CE für Debian

Referenz: Mein Heimserver mit Pi- und Docker-Antrieb

Der schwierigste Teil bei der Installation von Docker auf Raspberry Pi besteht darin, die Quelle richtig auszuwählen und den GPG-Schlüssel hinzuzufügen, damit Sie die entsprechende Version von Docker finden und herunterladen können. Dieser Prozess ist sehr umständlich und es ist schwierig, eine einheitliche Lösung zu finden.

Offizielle Version des Ein-Klick-Installationsskripts

Hinweis: Viele Leute sagen, dass das offizielle Ein-Klick-Installationsskript nicht mehr unterstützt wird. Aber eigentlich ist die aktuelle Position noch tragbar.

Referenz: So richten Sie Docker ganz einfach auf einem Raspberry Pi ein

Bevor ich anfange, möchte ich erklären: Ich bin schon oft gescheitert und habe viele entsprechende Lösungen gefunden, aber keine davon hat funktioniert. bis. . .

Es hat nicht funktioniert, bis ich sudo apt-get update und vor allem sudo apt-get upgrade .

Tatsächlich können Sie während des Upgrades sehen, dass viele Systemabhängigkeitspakete aktualisiert wurden, wodurch alle Probleme gelöst werden, die die vorherige erfolglose Docker-Installation verursacht haben.

Nachdem das Upgrade abgeschlossen ist, beginnt die formelle Installation:

Sie müssen ein Shell-Skript verwenden, get.docker.com , und die gesamte Website hat nur dieses eine Skript. Herunterladen und ausführen:

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

Nach Abschluss wird Folgendes angezeigt:

Führen Sie dann „Hello World“ aus und probieren Sie es aus:

$ sudo docker run hallo-welt

Dann wird Folgendes angezeigt:

Manuelle Installation

Vorbereitung:

#Installieren Sie SSL, lassen Sie apt über HTTPS herunterladen:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

# Fügen Sie den GPG-Schlüssel von Docker hinzu
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
# Überprüfen Sie, ob der Schlüssel übereinstimmt (9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)
sudo apt-key Fingerabdruck 0EBFCD88

#Fügen Sie eine apt-Download-Quelle für Docker hinzu sudo echo "\ndeb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable\n" >> /etc/apt/sources.list

#Quelle aktualisieren sudo apt-get update

Docker installieren:

$ sudo apt-get installiere docker-ce

Docker ohne sudo ausführen

Um zu vermeiden, dass Sie bei jeder Ausführung docker sudo eingeben müssen, müssen wir eine Benutzergruppe für Docker erstellen und Berechtigungen erteilen:

# Erstellen Sie die Docker-Benutzergruppe sudo groupadd docker

# Fügen Sie den aktuellen Benutzer zur Docker-Benutzergruppe hinzu sudo gpasswd -a $USER docker

# Aktualisieren Sie die aktuellen Benutzergruppenänderungen (kein Abmelden und erneutes Anmelden erforderlich)
Docker von Newgrp

Installieren Sie Docker-Compose

Sie können docker compose als Docker-Container herunterladen und ausführen:

Docker-Ausführung \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$PWD:/rootfs/$PWD" \
  -w="/rootfs/$PWD" \
  docker/compose:1.13.0 hoch

# Alias-Verknüpfungen festlegen (`~/.zshrc` oder `~/.bash_profile`)
Alias ​​docker-compose="'"'docker run \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$PWD:/rootfs/$PWD" \
  -w="/rootfs/$PWD" \
  docker/compose:1.13.0'"'"

Häufige Fehler

Python: No module name lsb_release

Prüfen Sie zunächst, ob lsb_release bereits auf Ihrem Computer installiert ist, bzw. installieren Sie es erneut:

$ sudo apt-get installiere lsb-release

Wenn dieses Problem weiterhin besteht, überprüfen Sie Ihre Python-Version. Wenn es Python3 ist, ist die Version wahrscheinlich nicht ausreichend, da lsb_release mindestens Python3.5 erfordert.
Um dieses Problem zu lösen, setzen Sie den Standard-Python einfach auf Python2 zurück. Sie müssen lediglich mit ln eine Verknüpfung erstellen:

# Backup (der genaue Speicherort von Python hängt von Ihrer eigenen Situation ab)
$ sudo mv /usr/bin/python /usr/bin/python_bak

# Ersetzen Sie $ sudo ln -s /usr/bin/python2.7 /usr/bin/python

Versuchen Sie dann erneut $ lsb_release -cs um zu sehen, ob jessie angezeigt wird

無法添加源add-apt-repository 報錯找不到相關源

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server
  • So installieren Sie Docker und konfigurieren Alibaba Cloud Image Accelerator
  • So zeigen Sie Dateien im Docker-Image an
  • So verwenden Sie Docker buildx, um plattformübergreifende Images zu erstellen und sie in private Repositories zu übertragen
  • Verwenden Sie das Docker-Buildkit, um ein Docker-Image zu erstellen, das auf dem Raspberry Pi verwendet werden kann

<<:  Beispiele für die Verwendung von React Ref

>>:  Optimierung der MySQL 4G-Speicherserverkonfiguration

Artikel empfehlen

So legen Sie eine horizontale Navigationsstruktur in HTML fest

In diesem Artikel werden Ihnen zwei Methoden zum ...

MySQL-Reihe: Redo-Log, Undo-Log und Binlog – ausführliche Erklärung

Durchführung von Transaktionen Das Redo-Protokoll...

Ideen und Codes zur Realisierung des Lupeneffekts in js

In diesem Artikelbeispiel wird der spezifische Co...

Verständnis des synchronen oder asynchronen Problems von setState in React

Inhaltsverzeichnis 1. Ist setState synchron? asyn...

vue.js Router verschachtelte Routen

Vorwort: Manchmal ist der Hauptteil einer Route d...

Eine kurze Analyse, wie MySQL die Transaktionsisolierung implementiert

Inhaltsverzeichnis 1. Einleitung 2. RC- und RR-Is...

Detaillierte Erklärung der CSS-Textdekoration Textdekoration & Texthervorhebung

In CSS ist Text eines der häufigsten Dinge, mit d...

XHTML-Einführungstutorial: Anwendung von Tabellen-Tags

<br />Tabelle ist ein umständliches Tag in X...

So zeigen Sie die IP-Adresse des Docker-Containers an

Ich dachte immer, Docker hätte keine IP-Adresse. ...

Installieren Sie JDK8 im RPM-Modus auf CentOS7

Nach der erfolgreichen Installation von CentOS 7 ...

Klassischer Beispielcode für JavaScript-Funktionsaufrufe

Inhaltsverzeichnis Klassisches Beispiel für einen...

CSS3-Übergang zum Erreichen des unterstrichenen Beispielcodes

In diesem Artikel wird der Beispielcode für den C...