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

Vue implementiert Drag & Drop für mehrspaltiges Layout

In diesem Artikel wird der spezifische Code von V...

Automatisiertes Frontend-Deployment basierend auf Docker, Nginx und Jenkins

Inhaltsverzeichnis Vorbereitende Vorbereitung Ber...

MySQL 5.7.17 Installations- und Konfigurations-Tutorial unter CentOS6.9

CentOS6.9 installiert Mysql5.7 zu Ihrer Informati...

So installieren Sie eine ISO-Datei im Linux-System

Wie installiere ich ISO-Dateien unter einem Linux...

Über die 4 Zusatzfunktionen von Vuex

Inhaltsverzeichnis 1. Zusatzfunktionen 2. Beispie...

Detaillierte Erklärung zur Verwendung von ElementUI in Vue

Anmeldung + SessionStorage Effektanzeige Nach ein...

Designtheorie: Lesbarkeit und Verständlichkeit von Texten

<br />Vor nicht allzu langer Zeit habe ich a...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.27

Das Installationstutorial für MySQL 5.7.27 wird w...

Eine einfache Implementierungsmethode für eine digitale LED-Uhr in CSS3

Das dürfte etwas sein, was viele Leute gemacht ha...

Tomcat8 verwendet Cronolog zum Aufteilen von Catalina.Out-Protokollen

Hintergrund Wenn die von Tomcat generierte catali...