2020年6月28日日曜日

ラズベリーパイ Docker & Docker-compose導入

mirakurunの導入にDockerが必要らしいが、docker-compose pull で失敗する。
Dockerってなに? な状態から、導入まで

環境

・RaspberryPi 3B+
・カーネル:Linux raspberrypi 4.19.118-v7+
・OS: Raspbian GNU/Linux 10 (buster)



Dockerってなに?

 Linux上で別なLinuxシステムを起動するコンテナ型仮想化を利用するための管理ソフト。
仮想化とは、OS上に仮想的に別なOSを構築するもの、VMwareとかVirtualBOXとかみたいなやつ。中でもコンテナ型仮想化とは、仮想的な物理マシンの構築は行わず、元のOS上に隔離されたエリアを作り、その内部で新たなソフトウェア実行環境を構築する。コンテナの内外では干渉しあわない。コンテナを移動するだけで別なPC環境でも同様に扱うことができる。ソフトウェアの開発・配布に便利、、、らしい。なんとなくしか分からん。

Docker-composeってなに?

 複数のコンテナを使用するサービスを構築・実行するための手順を自動化

導入


Docker
$ sudo apt install docker >> $ docker --version >>-bash: docker: コマンドが見つかりません
となり、apt では上手く導入できません。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ docker --version
>Docker version 19.03.11, build 42e35e6 となり、導入できました。
$ docker-compose version
>/usr/local/bin/docker-compose: 行 1: Not: コマンドが見つかりません

Docker-composeの導入
$ git clone https:///github.com/docker/compose.git
$ cd compose
$ git checkout 1.26.0
※最新版は1.26.0だった。(2020.6.22時点)
$ ./script/build/linux
>40分位かかった。
$ cd dist
>"docker-compose-Linux-armv7l"が作成されている。
$ ./docker-compose-Linux-armv7l version
>docker-compose version 1.26.0, build d4451659
>docker-py version: 4.2.1
>CPython version: 3.7.7
>OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
※このままではdocker-composeが使えないのでbinにコピーする。
$ sudo cp docker-compose-Linux-armv7l /usr/local/bin/docker-compose
$ sudo chown root:root /usr/local/bin/docker-compose
※chown:所有権の設定 chown ユーザー(:グループ) ファイル
$ sudo chmod 755 /usr/local/bin/docker-compose
※chmod 755:誰でも読込みと実行はできるが、書き込みは自分だけ。
$ ls -l /usr/local/bin/
>-rwxr-xr-x 1 root root 8156972  日付 docker-compose
$ docker-compose version
>docker-compose version 1.26.0, build d4451659
>docker-py version: 4.2.1
>CPython version: 3.7.7
>OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

docker-compose pullが出来るようになった。


ERROR: Couldn't connect to Docker daemon at+docker://localhost- is it running?と表示されてエラーになる場合、Docker と Docker-composeがグループに入っておらず、権限がない場合に表示されるらしい。
$ sudo usermod -aG docker $USER
にてdockerグループに現在のユーザが登録されて、docker-compose buildなどが実行可能となる。再起動(ログアウトでも可?)などすると登録が反映される。

0 件のコメント:

コメントを投稿