Kubernetes の環境を作りたい [Raspberry Pi 編 4] Docker のインストール

[2021/3/31 追記]
32 bit のイメージで作業を進めてしまったところ Docker のインストールでどんづまったので 64 bit でやり直すことにしました。

(64 bit: aarch64)
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos-altarch/7.9.2009/isos/aarch64/images/

(32 bit: armhfp(armv7l))
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos-altarch/7.9.2009/isos/armhfp/
※ 以下の記事で利用したもの。

前回

https://qiita.com/yosukei3108/items/f2dad9b18e66ae4024f8

やっとモノはそろってきたので、ようやく中身に移っていきます。
Kubernetes の前に、まずは Docker のインストールから。

ぬるっと入ってたりしないかな、と思って一応確認してみたところ、やっぱり入ってないようです。

```console
# yum list installed | grep docker
```

また、無手で yum install しようとするとどうなるのかな、と思い info で調べてみるとこんな感じでした。docker-ce はヒットもせず。どういう状況なんだろう。

```console
# yum info docker*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.yz.yamagata-u.ac.jp
 * centos-kernel: ftp.yz.yamagata-u.ac.jp
 * extras: ftp.yz.yamagata-u.ac.jp
 * updates: ftp.yz.yamagata-u.ac.jp
Available Packages
Name        : docker
Arch        : armv7hl
Epoch       : 2
Version     : 1.13.1
Release     : 204.git0be3e21.el7
Size        : 15 M
Repo        : extras/7/armhfp
Summary     : Automates deployment of containerized applications
URL         : https://github.com/docker/docker
License     : ASL 2.0
Description : Docker is an open-source engine that automates the deployment of
            : any application as a lightweight, portable, self-sufficient
            : container that will run virtually anywhere.
            :
            : Docker containers can encapsulate any payload, and will run
            : consistently on and between virtually any server. The same
            : container that a developer builds and tests on a laptop will run
            : at scale, in production*, on VMs, bare-metal servers, OpenStack
            : clusters, public instances, or combinations of the above.

Name        : docker-client
Arch        : armv7hl
...
```

などと思いつつ、公式のガイドに従って (https://docs.docker.com/engine/install/centos/) おとなしくリポジトリを追加します。
まずは yum-utils から入れないといけないのかな。ずいぶん前に yum のコンフィグを編集する方法でリポジトリの追加をやった気がしますが、間抜けなことをやってたんだろうか。。

安定の山形大学さん。お世話になっております。
九大の ntp みたいに負担になってたりしないんだろうか。。

```console
# yum install yum-utils
(略)
================================================================================
 Package               Arch           Version                 Repository   Size
================================================================================
Installing:
 yum-utils             noarch         1.1.31-54.el7_8         base        122 k
Installing for dependencies:
 libxml2-python        armv7hl        2.9.1-6.el7.5           base        234 k
 python-chardet        noarch         2.2.1-3.el7             base        227 k
 python-kitchen        noarch         1.1.1-5.el7             base        267 k

Transaction Summary
================================================================================
Install  1 Package (+3 Dependent packages)

...
```
python-kitchen って何だろう。後で調べよう。と思いました。


``` console
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
```

この記事を書いている時点で、docker-ce docker-ce-cli containerd.io は同時にインストールしてね、と言われているようです。

が、しかし。

``` console
# yum install docker-ce docker-ce-cli containerd.io
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.yz.yamagata-u.ac.jp
 * centos-kernel: ftp.yz.yamagata-u.ac.jp
 * extras: ftp.yz.yamagata-u.ac.jp
 * updates: ftp.yz.yamagata-u.ac.jp
base                                                     | 3.6 kB     00:00
centos-kernel                                            | 2.9 kB     00:00
https://download.docker.com/linux/centos/7/armhfp/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article

https://wiki.centos.org/yum-errors

(略)

failure: repodata/repomd.xml from docker-ce-stable: [Errno 256] No more mirrors to try.
https://download.docker.com/linux/centos/7/armhfp/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
```

CentOS7 on armhfp 向けのパッケージは今のところないんですかね。
ということで URL をブラウザで開いて様子を見ると、armv7l はあるっぽい。
こちらを試してみようと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616231/3879cb33-d6a6-3ce1-6e4c-523142a418bb.png)


まずはアーキテクチャを明示して再度 yum install をしてみましたが、駄目でした。

```console
# yum clean all
# yum install docker-ce.armv7l docker-ce-cli.armv7l container
d.io.armv7l
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.yz.yamagata-u.ac.jp
 * centos-kernel: ftp.yz.yamagata-u.ac.jp
 * extras: ftp.yz.yamagata-u.ac.jp
 * updates: ftp.yz.yamagata-u.ac.jp
base                                                     | 3.6 kB     00:00
centos-kernel                                            | 2.9 kB     00:00
https://download.docker.com/linux/centos/7/armhfp/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article

https://wiki.centos.org/yum-errors

If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

(略)

failure: repodata/repomd.xml from docker-ce-stable: [Errno 256] No more mirrors to try.
https://download.docker.com/linux/centos/7/armhfp/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
```

結局 /etc/yum.repos.d/docker-ce.repo の $basearch を armv7l に置換しちゃいました。

が、よくよく見たら armv7l には stable リリースがなくまた 404。
再び docker-ce.repo を編集し、stable に関するセクションは enabled=0 とし、test バージョンのセクションを enable=1 としました。
後で何かおかしくなったらここからやり直そう。


で、やっとインストールできたと思ったら、あれ？なにこれ？？
No package docker-ce available.
No package docker-ce-cli available.

``` console
# yum install docker-ce docker-ce-cli containerd.io
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centosg9.centos.org
 * centos-kernel: centosg9.centos.org
 * extras: centosg9.centos.org
 * updates: centosg9.centos.org
base                                                     | 3.6 kB     00:00
centos-kernel                                            | 2.9 kB     00:00
docker-ce-test                                           | 3.0 kB     00:00
extras                                                   | 2.9 kB     00:00
updates                                                  | 2.9 kB     00:00
(1/6): base/7/armhfp/group_gz                              | 153 kB   00:00
(2/6): updates/7/armhfp/primary_db                         | 961 kB   00:00
(3/6): extras/7/armhfp/primary_db                          | 196 kB   00:00
(4/6): centos-kernel/7/armhfp/primary_db                   |  15 kB   00:00
(5/6): docker-ce-test/7/primary_db                         | 2.3 kB   00:00
(6/6): base/7/armhfp/primary_db                            | 4.1 MB   00:01
No package docker-ce available.
No package docker-ce-cli available.

(略)

================================================================================
 Package                Arch    Version                    Repository      Size
================================================================================
Installing:
 containerd.io          armv7hl 1.2.11-3.1.el7             docker-ce-test  17 M
Installing for dependencies:
 audit-libs-python      armv7hl 2.8.5-4.el7                base            69 k
 checkpolicy            armv7hl 2.5-8.el7                  base           262 k
 container-selinux      noarch  2:2.119.2-1.911c772.el7_8  extras          40 k
 libcgroup              armv7hl 0.41-21.el7                base            63 k
 libsemanage-python     armv7hl 2.5-14.el7                 base           104 k
 policycoreutils-python armv7hl 2.5-34.el7                 base           455 k
 python-IPy             noarch  0.75-6.el7                 base            32 k
 setools-libs           armv7hl 3.3.8-4.el7                base           549 k

Transaction Summary
================================================================================
Install  1 Package (+8 Dependent packages)

(略)
```

containerd.io だけはインストールできたようですが。。

``` console
# yum install docker-ce-test docker-ce-cli-test
```

としても同じ結果に。

よく見たら無いわ！確かに！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616231/38b1a561-17f9-e2f4-27dc-77ef1c80a8f5.png)


続く、、、！

https://qiita.com/yosukei3108/items/7bfa469c0f796e4cbd56