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 メモリ サーバー構成の最適化

推薦する

React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

最近、古い RN プロジェクトを Xcode で実行すると、次のコード エラーが報告されました。 &...

JavaScript の遅延読み込み属性パターンに関する簡単な説明

目次1. はじめに2. オンデマンド属性モード3. 乱雑な遅延読み込み属性パターン4. クラスの唯一...

初心者がdockerにmysqlをインストールするときに遭遇するさまざまな問題

序文最近、パソコンのシャットダウンに時間がかかることが多く、強制的にシャットダウンするには電源ボタン...

XHTML 入門チュートリアル: XHTML とは何ですか?

HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...

CSS3 を使用した SVG パス ストロークのアニメーション化入門チュートリアル

JavaScript に依存せず、純粋な CSS を使用してsvgストローク描画アニメーション効果と...

Linux で実行中のバックグラウンド プログラムを表示および終了する方法

Linux タスク管理 - バックグラウンド実行と終了fg、bg、ジョブ、&、ctrl + ...

CSSはフロートをシミュレートして、画像の左右を囲む中央テキストの効果を実現します。

画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...

CSS3 すりガラス効果

すりガラス効果がうまく表現されていれば、ページが非常に鮮やかで立体的に見えるようになります。写真に直...

Mysql InnoDBとMyISAMの違いの分析

MySQL は、myisam、innodb、memory、archive、example など、多く...

MySQL でのトリガーとカーソルの紹介と使用

トリガーの紹介トリガーは、テーブルに関連付けられた特別なストアド プロシージャであり、テーブル内のデ...

Windows サービス 2012 Alibaba Cloud サーバーで MySQL をビルドするときに msvcr100.dll ファイルが見つからないという問題を解決します

解決策1: msvcr100.dll ファイルをダウンロードし (インターネットからソース ファイル...

Vue2とVue3の兄弟コンポーネント通信バスの違いと使い方

目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的な...

MySQL 起動時に「サーバーは PID ファイルを更新せずに終了しました」というエラーが報告される理由の詳細な分析

多くの人が MySQL の起動時にこのエラーに遭遇しています。まず、このエラーの前提は、サービス ス...

VMware Esxi のルート パスワードを忘れた後に正常に取得する方法

CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...