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="sameer@damagehead.com"

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

MySQL 8.0.12 Installations- und Konfigurations-Tutorial

Dieser Artikel enthält das ausführliche Tutorial ...

Beispiele für die korrekte Verwendung von Karten in WeChat-Miniprogrammen

Inhaltsverzeichnis Vorwort 1. Vorbereitung 2. Tat...

Architektur und Komponentenbeschreibung der privaten Docker-Bibliothek Harbor

In diesem Artikel wird die Zusammensetzung der Ha...

Vue implementiert zwei Methoden zur Steuerung der Routing-Berechtigung

Inhaltsverzeichnis Methode 1: Routing von Metainf...

Verwendung von VNode in Vue.js

Was ist VNode In vue.js gibt es eine VNode-Klasse...

Beispiel-Tutorial für MySQL-Datenbanktransaktionen

Inhaltsverzeichnis 1. Was ist eine Transaktion? 2...

Implementierungsprinzip und Nutzungsanalyse des Apache Bench-Stresstest-Tools

1: Durchsatz (Anfragen pro Sekunde) Eine quantita...

Tutorial zur Installation von MySQL8 auf Centos7

Neue Funktionen in MySQL 8: Meine persönliche Mei...

Implementierung der Docker-Compose-Bereitstellung des ZK+Kafka+Storm-Clusters

Übersicht über die Clusterbereitstellung 172.22.1...