Dockerビルドキットを使用して、Raspberry Piで使用できるDockerイメージを構築します。

Dockerビルドキットを使用して、Raspberry Piで使用できるDockerイメージを構築します。

Dockerのインストール

カール -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG ${ユーザー名}

ビルドキットとは

  • ARMベースのDockerイメージのビルドを参照
  • 簡単に言えば、 docker buildを拡張する実験的な機能です

例としてbindを使ってビルドする

docker-bindプロジェクトはオープンソースのカスタムDNS展開サービスですが、 linux/aarch64アーキテクチャに基づく利用可能なイメージを提供していないため、 buildxコマンドを使用して自分でビルド操作を実行する必要があります。

Raspberry Piシステムでは、 uname -aを実行してターゲットアーキテクチャを表示します。

  • Linux/aarch64 の場合
  • Linux/amd64 の場合
  • Linux/ARM64 の場合
  • Linux/ARM/v7 の場合

....

# Raspberry Pi システムで以下のコマンドを実行します git clone https://github.com/sameersbn/docker-bind.git
cd docker-bind
# Dockerfile の内容を変更するので注意してください。 !この設定はdocker-bindに関連しており、build-kitの使用とは関係ありません。デモンストレーションにのみ使用されます。 echo 'FROM ubuntu:focal-20200423 AS add-apt-repositories
コピー jcameron-key.asc jcameron-key.asc
apt-get update を実行する\
 && DEBIAN_FRONTEND=非対話型 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

ubuntu:focal-20200423 より

ラベル メンテナー="[email protected]"

ENV BIND_USER=bind \
  バインドバージョン=9.16.1 \
  WEBMIN_VERSION=1.970 \
  DATA_DIR=/データ

apt-get update を実行する\
 && apt-get install -y カール

コピー --from=add-apt-repositories /etc/apt/trusted.gpg /etc/apt/trusted.gpg

コピー --from=add-apt-repositories /etc/apt/sources.list /etc/apt/sources.list

rm -rf /etc/apt/apt.conf.d/docker-gzip-indexes を実行します。
 && apt-get アップデート \
 && DEBIAN_FRONTEND=非対話型 apt-get install -y \
   bind9=1:${BIND_VERSION}* bind9-host=1:${BIND_VERSION}* dnsutils \
   webmin=${WEBMIN_VERSION}* \
 && rm -rf /var/lib/apt/lists/*

コピー entrypoint.sh /sbin/entrypoint.sh

chmod 755 /sbin/entrypoint.sh を実行します。

公開 53/udp 53/tcp 10000/tcp

エントリポイント ["/sbin/entrypoint.sh"]

CMD ["/usr/sbin/named"]' > Dockerfile
# 独自の docker リポジトリにログインします。# Alibaba Cloud のイメージリポジトリを使用していますが、dockerhub の公式リポジトリを使用することもできます。docker login --username=${user_name} registry.cn-hangzhou.aliyuncs.com
docker buildx ビルド --platform linux/aarch64 -t registry.cn-hangzhou.aliyuncs.com/docker-image-lee/bind:aarch64 --no-cache --push 。

# MacまたはWindowsでビルドする場合は、まず次のコマンドを実行する必要があります docker buildx create --use

プッシュが完了したら、Raspberry Piで使用できます〜

参照する

ARM ベースの Docker イメージの構築

docker buildx ビルド

Raspberry Pi 用の Docker イメージをビルドする

docker ビルドキットを使用して、Raspberry Pi で使用できる Docker イメージをビルドする方法についての記事はこれで終わりです。docker ビルドキットと Raspberry Pi Docker イメージの詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerイメージ内のnoneイメージ操作を削除する
  • Dockerイメージが消える問題を解決する
  • Dockerとイメージの操作方法
  • Docker イメージのインポートとエクスポートのコード例
  • Docker イメージのダウンロードが遅すぎる場合の解決策
  • Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)
  • スクリプトを使用して、ワンクリックでDockerイメージをパッケージ化してアップロードします。
  • Dockerイメージを完全にアンインストールする手順

<<:  CSSで背景ぼかしを設定する方法

>>:  MySQL での r2dbc の使用に関する詳細な理解

推薦する

HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、ヘッダーの幅と高さはコンテンツに応じて自動的に調整されます。ヘッダーの幅と高さを手動...

jsはシンプルな計算機を実装します

参考までに、ネイティブjsを使用して簡単な計算機(詳細なコメント付き)を実装します。具体的な内容は次...

おすすめの無料英語手書きフォント20選

Jellyka Beesアンティーク手書き [ank]* ジェリーカ・カティカップケーキ LHF ジ...

WeChatアプレットが弾丸画面を送信するビデオプレーヤーを実装

この記事では、WeChatアプレットでビデオプレーヤーの集中砲火を実装するための具体的なコードを参考...

友達やグループを見つけるためのJavaScriptのLayim

現在、layuiの関係者はlayim友達検索ページの構造とスタイルを提供していません。私は個人的に非...

MySQL共通インデックスとユニークインデックスの詳細な説明

シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...

JavaScript メッセージ ボックスの例

JavaScript では、警告ボックス、確認ボックス、プロンプト ボックスの 3 種類のメッセージ...

Dockerボリュームマウントの実装方法

最も単純な hello world 出力イメージを作成することは最も簡単なスタートですが、実行中のコ...

Linuxはバイナリモードを使用してmysqlをインストールします

この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...

主要ブラウザとそのカーネルの紹介

トライデント コア: IE、MaxThon、TT、The World、360、Sogou Brows...

モバイルデバイスにおける適応レイアウトの問題に関する簡単な説明 (レスポンシブ、rem/em、Js ダイナミクス)

3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...

MySQL 5.7.18 アーカイブ圧縮版のインストールチュートリアル

この記事では、MySQL 5.7.18アーカイブ圧縮版をインストールする具体的な方法を参考までに紹介...

Vue3はCSSの無限シームレススクロール効果を実装します

この記事では、CSS無限シームレススクロール効果を実現するためのvue3の具体的なコードを参考までに...

UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...

MySQL 5.7 のインストールと設定方法のグラフィックチュートリアル

このチュートリアルでは、MySQL 5.7のインストールと設定方法を参考までに紹介します。具体的な内...