Raspberry PiにDockerをインストールする方法

Raspberry PiにDockerをインストールする方法

Raspberry Pi は ARM アーキテクチャをベースとしているため、Docker のインストールと使用方法も異なります。議論すべき内容はたくさんあるので、ここではそれを抜粋して紹介します。

Raspberry Pi は PC とは異なる ARM アーキテクチャに基づいています。そのため、Raspberry Pi 上で Docker イメージを作成できたとしても、それを他の PC で実行することはできません。逆に言えば、他の PC 上の Docker イメージは Raspberry Pi 上では実行できません。

Raspberry Pi 固有のイメージを見つける必要がある場合は、 DockerhubARMまたはRpiを検索してください。

Hypriotという Raspberry Pi 専用の Docker を多数作成している倉庫があるので、参考にしてください。

Raspberry Pi リファレンス: Debian 用 Docker CE を入手する

参考: Pi と Docker で動く自宅サーバー

Raspberry Pi に Docker をインストールする際の最も難しい部分は、ソースを正しく選択して GPG キーを追加し、適切なバージョンの Docker を見つけてダウンロードできるようにすることです。このプロセスは非常に面倒であり、統一されたソリューションを得るのは困難です。

公式版ワンクリックインストールスクリプト

注: 公式のワンクリック インストール スクリプトはサポートされなくなったと多くの人が言っています。しかし、現在の立場は実際にはまだ支持可能です。

参考: Raspberry Pi に Docker をセットアップする簡単な方法

始める前に説明させてください。私はこれまで何度も失敗し、関連する解決策をたくさん見つけましたが、どれもうまくいきませんでした。それまで。 。 。

sudo apt-get updateと、最も重要なsudo apt-get upgrade実行するまで動作しませんでした。

実際、アップグレード中に多くのシステム依存パッケージが更新され、以前の Docker インストールの失敗の原因となったすべての問題が解決されていることがわかります。

アップグレードが完了すると、正式なインストールが開始されます。

シェル スクリプトget.docker.com使用する必要がありますが、Web サイト全体にはこの 1 つのスクリプトのみが含まれます。ダウンロードして実行:

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

完了すると、次のように表示されます。

次に、hello world を実行して試してみましょう。

$ sudo docker run hello-world

次に次のように表示されます:

手動インストール

準備:

#SSL関連をインストールし、aptがHTTPS経由でダウンロードできるようにします:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

# dockerのGPGキーを追加する
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key を追加 -
# キーが一致するかどうかを確認します (9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)
sudo apt-key フィンガープリント 0EBFCD88

#docker の apt ダウンロード ソースを追加します sudo echo "\ndeb-src [arch=amd64] https://download.docker.com/linux/debian wheezy stable\n" >> /etc/apt/sources.list

#ソースの更新 sudo apt-get update

docker をインストールします:

$ sudo apt-get install docker-ce

sudoなしでdockerを実行する

docker実行するたびにsudoを入力しなくても済むようにするには、docker のユーザー グループを作成し、権限を付与する必要があります。

# dockerユーザーグループを作成する sudo groupadd docker

# 現在のユーザーをdockerユーザーグループに追加します sudo gpasswd -a $USER docker

# 現在のユーザー グループの変更を更新します (ログアウトして再度ログインする必要はありません)
新しいグループドッカー

docker-composeをインストールする

docker compose docker コンテナとしてダウンロードして実行できます。

docker 実行 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$PWD:/rootfs/$PWD" \
  -w="/rootfs/$PWD" \
  docker/compose:1.13.0 がアップ

# エイリアスショートカットを設定する (`~/.zshrc` または `~/.bash_profile`)
エイリアス 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'"'"

よくあるエラー

Python: No module name lsb_release

まず、 lsb_releaseがすでにマシンにインストールされているかどうかを確認するか、再インストールします。

$ sudo apt-get インストール lsb-release

この問題が引き続き発生する場合は、Python のバージョンを確認してください。 python3 の場合、lsb_release には少なくとも python3.5 が必要なので、バージョンが不十分である可能性があります。
この問題を解決するには、デフォルトの Python を Python2 に戻すだけです。 ln を使用してショートカットを作成するだけです。

# バックアップ(Pythonの具体的な場所は状況によって異なります)
$ sudo mv /usr/bin/python /usr/bin/python_bak

# 置き換え $ sudo ln -s /usr/bin/python2.7 /usr/bin/python

次に、 $ lsb_release -csを再度実行して、 jessieが表示されるかどうかを確認します。

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

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Raspberry Pi 4b ubuntu19 サーバーへの docker-ce のインストール手順
  • DockerをインストールしてAlibaba Cloud Image Acceleratorを構成する方法
  • Dockerイメージ内のファイルを表示する方法
  • Docker buildx を使用してマルチプラットフォーム イメージをビルドし、プライベート リポジトリにプッシュする方法
  • Dockerビルドキットを使用して、Raspberry Piで使用できるDockerイメージを構築します。

<<:  React refの使用例

>>:  MySQL 4G メモリ サーバー構成の最適化

推薦する

Webフロントエンドインターフェースの設計に必須のスキル

[必須] ユーザーインターフェースPhotoShop/花火デザインアーティストと協力して、スケッチを...

ネイティブJSが様々なスポーツの均一な動きを実現

この記事では、ネイティブ JS で実装された均一なモーションを紹介します。その効果は次のとおりです。...

MySQL GTID の総合概要

目次01 GTIDの紹介02 GTIDの仕組み03 GTIDの利点と欠点04 テスト環境構築05 テ...

Vueコンポーネント化の基本的な使用方法の詳細

目次1. コンポーネント化とは何ですか? 2. 基本的な使い方序文:場合によっては、HTML 構造化...

Reactを使用して画像認識アプリを実装する方法

まずは効果の写真をお見せしましょう。 個人的には効果は問題ないと思います。アプリが写真を学習する時間...

Dreamweaver で Zen コーディングを使用する方法

前回の記事「Zen Coding: HTML/CSS コードを素早く記述する方法」を公開した後、一部...

mysql 8.0.16 winx64.zip インストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16 winx64.zipのインストールと設定方法の具体的なコード...

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

異なる列を持つテーブルのクエリ結果のSQLマージ操作

2 つの異なるテーブルをクエリするには、結果をマージする必要があります。たとえば、table1 の列...

nginxフォワードプロキシとリバースプロキシの詳細な説明

目次フォワードプロキシnginx リバースプロキシnginx リバースプロキシ 02リバースプロキシ...

HTMLはテキスト行のインターセプトの実装原理とコードを超えています

複数行を超えるテキストをインターセプトするための HTML コードは次のとおりです。 HTML:コー...

Dockerを使用してJenkinsをインストールする方法

目次1. イメージをプルする2. ローカルデータボリュームを作成する3. コンテナを作成する4. J...

WeChat アプレットのカスタム スクロール ビューのサンプル コード

ミニプログラムカスタムスクロールビュースクロールバーさっそくレンダリングを見てみましょうレンダリング...

WeChat 8.0の爆発的な特殊効果を実現するために300行以上のCSSコードが必要

WeChat 8.0 アップデートの主な特徴は、アニメーション絵文字のサポートです。送信するメッセー...