Verwenden Sie das Docker-Buildkit, um ein Docker-Image zu erstellen, das auf dem Raspberry Pi verwendet werden kann

Verwenden Sie das Docker-Buildkit, um ein Docker-Image zu erstellen, das auf dem Raspberry Pi verwendet werden kann

Docker-Installation

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG ${Benutzername}

Was ist ein Build-Kit?

  • Siehe Build ARM-basierte Docker-Images
  • Einfach ausgedrückt handelt es sich um eine experimentelle Funktion, die docker build erweitert

Erstellen mit Bind als Beispiel

Das Docker-Bind-Projekt ist ein Open-Source-Dienst zur Bereitstellung von benutzerdefiniertem DNS, bietet jedoch kein verfügbares Image basierend auf linux/aarch64 -Architektur. Sie müssen daher buildx verwenden, um den Build-Vorgang selbst durchzuführen.

Führen Sie im Raspberry Pi-System uname -a aus, um Ihre Zielarchitektur anzuzeigen

  • linux/aarch64
  • linux/amd64
  • linux/arm64
  • linux/arm/v7

....

# Führen Sie den folgenden Befehl im Raspberry Pi-System aus: git clone https://github.com/sameersbn/docker-bind.git
cd docker-bind
# Ändern Sie den Dockerfile-Inhalt, Achtung! ! Diese Einstellung bezieht sich auf Docker-Bind und hat nichts mit der Verwendung von Build-Kit zu tun. Sie wird nur zu Demonstrationszwecken verwendet. echo 'FROM ubuntu:focal-20200423 AS add-apt-repositories
KOPIEREN jcameron-key.asc jcameron-key.asc
Führen Sie apt-get update \ aus.
 && DEBIAN_FRONTEND=nichtinteraktiv apt-get install -y gnupg \
 && apt-get install -y curl \
 && apt-key adv --fetch-keys https://www.webmin.com/jcameron-key.asc \
 && echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list

VON ubuntu:focal-20200423

LABEL-Betreuer="[email protected]"

ENV BIND_USER=binden \
  BIND_VERSION=9.16.1 \
  WEBMIN_VERSION=1.970 \
  DATA_DIR=/Daten

Führen Sie apt-get update \ aus.
 && apt-get install -y curl

KOPIEREN --from=add-apt-repositories /etc/apt/trusted.gpg /etc/apt/trusted.gpg

KOPIEREN --from=add-apt-repositories /etc/apt/sources.list /etc/apt/sources.list

RUN rm -rf /etc/apt/apt.conf.d/docker-gzip-indexes \
 && apt-get update \
 && DEBIAN_FRONTEND=nichtinteraktiv apt-get install -y \
   bind9=1:${BIND_VERSION}* bind9-host=1:${BIND_VERSION}* dnsutils \
   webmin=${WEBMIN_VERSION}* \
 && rm -rf /var/lib/apt/lists/*

KOPIEREN Sie entrypoint.sh /sbin/entrypoint.sh

RUN chmod 755 /sbin/entrypoint.sh

AUSSETZEN 53/udp 53/tcp 10000/tcp

EINSTIEGSPUNKT ["/sbin/entrypoint.sh"]

CMD ["/usr/sbin/named"]' > Docker-Datei
# Melden Sie sich bei Ihrem eigenen Docker-Repository an.# Sie verwenden das Image-Repository von Alibaba Cloud oder können das offizielle Repository von Dockerhub verwendendocker login --username=${user_name} registry.cn-hangzhou.aliyuncs.com
Docker Buildx Build --Plattform Linux/aarch64 -t Registry.cn-hangzhou.aliyuncs.com/docker-image-lee/bind:aarch64 --no-cache --push.

# Wenn Sie auf einem Mac oder Windows erstellen, müssen Sie zuerst den folgenden Befehl ausführen: docker buildx create --use

Nachdem der Push abgeschlossen ist, können Sie ihn auf dem Raspberry Pi verwenden~

siehe

Erstellen von ARM-basierten Docker-Images

Docker Buildx-Build

Docker-Image für Raspberry Pi erstellen

Dies ist das Ende dieses Artikels über die Verwendung des Docker-Build-Kits zum Erstellen eines Docker-Images, das auf dem Raspberry Pi verwendet werden kann. Weitere Informationen zum Docker-Build-Kit und dem Raspberry Pi-Docker-Image finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Löschen Sie den Image-Vorgang von „none“ in Docker-Images
  • Lösen Sie das Problem verschwindender Docker-Images
  • So bedienen Sie Docker und Images
  • Codebeispiele für den Import und Export von Docker-Images
  • Lösung für das zu langsame Herunterladen des Docker-Images
  • Analyse des Docker-Image-Erstellungsprinzips (Sie können ein Image erstellen, ohne Docker zu installieren)
  • Verwenden Sie Skripte, um Docker-Images mit einem Klick zu verpacken und hochzuladen
  • Schritte zur vollständigen Deinstallation des Docker-Images

<<:  Tiefgreifendes Verständnis der Verwendung von r2dbc in MySQL

>>:  Was sind Web Slices?

Artikel empfehlen

24 praktische Tipps zur JavaScript-Entwicklung

Inhaltsverzeichnis 1. Initialisieren Sie das Arra...

Detaillierte Erklärung der MySQL Truncate-Verwendung

Inhaltsverzeichnis MySQL Truncate-Verwendung 1. T...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.14

Dieser Artikel dokumentiert den Installations- un...

Sehr detaillierte Anleitung zum Upgrade der MySQL-Version

Inhaltsverzeichnis 1. Einleitung 2. Sichern Sie d...

my.cnf (my.ini) wichtige Parameteroptimierungs-Konfigurationsanweisungen

MyISAM-Speicher-Engine Die MyISAM-Speicher-Engine...

So legen Sie eine statische IP für den Ubuntu 18.04-Server fest

1. Hintergrund Netplan ist ein neues Befehlszeile...

Tiefgreifendes Verständnis langer MySQL-Transaktionen

Vorwort: Dieser Artikel stellt hauptsächlich den ...

Detaillierte Erklärung des einfachen Stores von Vue

Die einfachste Store-Anwendung in Vue ist die glo...

Analyse und Lösung des a.getAttribute(href,2)-Problems in IE6/7

Kurzbeschreibung <br />In IE6 und 7 wird in...

Detaillierte Erläuterung der Wissenspunkte zu Linux-Dateivorgängen

Verwandte Systemaufrufe für Dateioperationen erst...

Webdesign-Tutorial (1): Schritte und Gesamtlayout

<br /> Hinweis: Alle Texte, mit Ausnahme der...

Erläuterung zum Erstellen der Graphdatenbank neo4j in einer Linux-Umgebung

Neo4j (eines der NoSQL-Modelle) ist eine leistung...