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

推薦する

Linux 上の MariaDB は root ユーザーで起動します (推奨)

最近、セキュリティ製品をテストする必要があったため、mariadb の起動ユーザーを root に調...

MAC で Mysql5.7.10 のルートパスワードを変更する方法

まず、MySQLをskip-grant-tablesモードで起動します: mysqld --skip...

一般的な Dockerfile コマンドの使用方法の紹介

目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...

MySQL 8.0 アトミック DDL 構文の詳細な説明

目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...

MySQLのインデックス選択と最適化の詳細な説明

目次インデックスモデルB+ツリーインデックスの選択インデックスの最適化インデックスの選択性カバーイン...

MySQL 5.7 インストール MySQL サービスを開始できませんが、サービスはエラーを報告しません

MySQL 5.7 をインストールするには 2 つの方法があります。1 つはインストーラをダウンロー...

CSS3 を使って本のページめくり効果を実現するサンプルコード

重要なポイント: 1. CSS3 3Dアニメーションをマスターする2. ページめくり後のページ内容の...

MySQLで自動作成時間と変更時間を設定する方法の例

この記事では、MySQL の自動作成時刻と変更時刻を設定する方法について説明します。ご参考までに、詳...

ボタンを使用してフォームを送信する代わりに、画像を使用してフォームを送信します。

コードをコピーコードは次のとおりです。 <フォームメソッド="post" ...

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

この記事は、参考のためにMySQL 8.0.12のインストールグラフィックチュートリアルを記録してい...

MySQLテーブルのフィールドと関連属性をエクスポートする手順

データベース内のテーブルのフィールドとプロパティをエクスポートし、テーブルを作成してWordに保存す...

MySQL に大量のデータを挿入する 4 つの方法の例

序文この記事では主に、MySQLに大量のデータを挿入する4つの方法を紹介し、参考と学習のために共有し...

Windows での MySQL5 グリーン バージョンのインストールの概要 (推奨)

1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...

MySQLのグループカウントと範囲集計を実装する2つの方法

1つ目:通常動作 選択 SUM(ddd) AS count_days、 場合 aa.days >...

Dockerコンテナデータボリュームの原理と使用法の分析

コンテナデータボリュームとはデータがコンテナ内にある場合、コンテナを削除するとデータは失われます。例...