7
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Raspberry pi に Docker & docker-compose をインストールする方法

Last updated at Posted at 2020-02-22

1. はじめに

今回は、自分自身への備忘録を兼ねて、Raspberry Pi に Docker & docker-compose をインストールする方法を、お伝えしたいと思います。

2. この記事を読んでできること

  • Raspberry Piで Docker & docker-compose を使えるようになる。

3. 注意事項

  • Docker のアーキテクチャは、armhf(ARM 32ビット)版となります。
  • Raspberry piでは、ARM版のDockerコンテナしか使えないと思われる。
  • Raspberry piでは、ホストOSが32ビットとなるため、ゲストOSも32ビットにしばられると思われる。
  • しばりなくDockerを自由に使いたい方は64bitのホストOS(Windows/MacOS/Linux)にてDockerを使った方が幸せかもしれません。

4. 必要なもの

  • Raspberry Pi(この記事では Raspberry Pi3B+ を利用)
  • SDカード(この記事では Raspbian Buster Lite を利用)
  • インターネット環境

5. dockerのインストール

  • Dockerをインストールします。
  • Dockerだけの利用でよければ、以下のコマンドだけで完了です。
コマンドプロンプト
// インストール
$ curl -sSL https://get.docker.com | sh

// グループの追加
$ sudo usermod -aG docker pi

// OS再起動(グループ追加を反映)
$ sudo shutdown -r now

// dockerサービスの有効化
$ sudo systemctl enable docker

// バージョン確認
$ docker --version
ocker version 19.03.6, build 369ce74

6. docker-composeのインストール

  • docker-composeのインストールをインストールします。
  • docker-compose.yml とかを使ってみたい方は、以下のコマンドも実行しましょう。
コマンドプロンプト
// ディレクトリ移動
$ cd /opt

// composeを入手
$ sudo git clone https://github.com/docker/compose.git

// ディレクトリ移動
$ cd /opt/compose

// ブランチの切り替え
$ sudo git checkout bump-1.23.2

// テキストファイルを編集
$ sudo sed -i -e 's:^VENV=/code/.tox/py36:VENV=/code/.venv; python3 -m venv $VENV:' script/build/linux-entrypoint

// テキストファイルを編集
$ sudo sed -i -e '/requirements-build.txt/ i $VENV/bin/pip install -q -r requirements.txt' script/build/linux-entrypoint

// Dockerイメージの作成(30分程度かかる)
$ sudo docker build -t docker-compose:armhf -f Dockerfile.armhf .

// docker-composeのバイナリ作成
docker run --rm --entrypoint="script/build/linux-entrypoint" -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git "docker-compose:armhf"

// docker-composeバイナリをbinディレクトリ配下に移動
$ sudo cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose

// rootに所有者を変更
$ sudo chown root:root /usr/local/bin/docker-compose

// パーミッション(実行権限)を付与
$ sudo chmod 0755 /usr/local/bin/docker-compose

// バージョン確認
$ docker-compose --version
docker-compose version 1.23.2, build 1110ad01

7. dockerの動作確認

コマンドプロンプト
// OS再起動(念のため)
$ sudo shutdown -r now

// dockerの実行(ハローワールド)
$ docker run --rm hello-world

8. docker-composeの動作確認

  • docker-compose.ymlファイルを作成し、ファイル保存する。
docker-compose.yml
version: "2"

services:
  app:
    image: hello-world

  • docker-composeを実行する。
コマンドライン
// docker-compose.ymlファイルが存在することを事前確認
$ ls
docker-compose.yml

// docker-composeを実行
$ sudo docker-compose up

9. 参考:Dockerコマンド、docker-composeコマンド

10. おわりに

いかがでしたでしょうか?意外と簡単にDocker & docker-composeをはじめることができたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。

2020/02/22 TAKAHIRO NISHIZONO

7
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?