Amazon Linux2にdockerをインストールする
目次
AMIをAmazon Linux2に変更したのですが、 yum install docker
でdockerがインストールできなくなってしまったので対処方法を調査しました。
モチベーション
Amazon Linux2にDockerがインストールできなくなっている!
Amazon LinuxからAmazon Linux2にアップデートしたのですが、 2018/06に Amazon Linux 2 LTS Candidate が発表されたあたりから、 packerのジョブがエラーで止まるようになってしまいました。
内容を確認してみると、Ansible の yum install docker
の部分で落ちていることがわかりました。
詳細は確認していませんが、yumの設定が変わったのかもしれません。
yum search docker
をしても docker が見つかりませんでした。
Extras Library で docker をインストールする
調査をしたところ、案外簡単に答えが見つかりました。
Amazon Linux2から Extras Library が導入され、 一部のライブラリは Extras Library 経由にてインストールができるようになっているようです。
どのようなライブラリがインストールできるか確認してみましょう。
1amazon-linux-extras list
2
3 0 ansible2 available [ =2.4.2 ]
4 1 emacs available [ =25.3 ]
5 2 memcached1.5 available [ =1.5.1 ]
6 3 nginx1.12 available [ =1.12.2 ]
7 4 postgresql9.6 available [ =9.6.6 =9.6.8 ]
8 5 python3 available [ =3.6.2 ]
9 6 redis4.0 available [ =4.0.5 ]
10 7 R3.4 available [ =3.4.3 ]
11 8 rust1 available [ =1.22.1 =1.26.0 ]
12 9 vim available [ =8.0 ]
13 10 golang1.9 available [ =1.9.2 ]
14 11 ruby2.4 available [ =2.4.2 =2.4.4 ]
15 12 nano available [ =2.9.1 ]
16 13 php7.2 available [ =7.2.0 =7.2.4 =7.2.5 ]
17 14 lamp-mariadb10.2-php7.2 available \
18 [ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5 ]
19 15 libreoffice available [ =5.0.6.2_15 ]
20 16 gimp available [ =2.8.22 ]
21 17 docker available [ =17.12.1 =18.03.1 ]
22 18 mate-desktop1.x available [ =1.19.0 =1.20.0 ]
23 19 GraphicsMagick1.3 available [ =1.3.29 ]
24 20 tomcat8.5 available [ =8.5.31 ]
docker
が含まれていますね。
早速インストールを試してみましょう。
1amazon-linux-extras install docker
2
3(中略)
4
5インストール:
6 docker.x86_64 0:18.03.1ce-3.amzn2
7
8依存性関連をインストールしました:
9 libtool-ltdl.x86_64 0:2.4.2-22.2.amzn2.0.1
10
11完了しました!
12 0 ansible2 available [ =2.4.2 ]
13 1 emacs available [ =25.3 ]
14 2 memcached1.5 available [ =1.5.1 ]
15 3 nginx1.12 available [ =1.12.2 ]
16 4 postgresql9.6 available [ =9.6.6 =9.6.8 ]
17 5 python3 available [ =3.6.2 ]
18 6 redis4.0 available [ =4.0.5 ]
19 7 R3.4 available [ =3.4.3 ]
20 8 rust1 available [ =1.22.1 =1.26.0 ]
21 9 vim available [ =8.0 ]
22 10 golang1.9 available [ =1.9.2 ]
23 11 ruby2.4 available [ =2.4.2 =2.4.4 ]
24 12 nano available [ =2.9.1 ]
25 13 php7.2 available [ =7.2.0 =7.2.4 =7.2.5 ]
26 14 lamp-mariadb10.2-php7.2 available \
27 [ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5 ]
28 15 libreoffice available [ =5.0.6.2_15 ]
29 16 gimp available [ =2.8.22 ]
30 17 docker=latest enabled [ =17.12.1 =18.03.1 ]
31 18 mate-desktop1.x available [ =1.19.0 =1.20.0 ]
32 19 GraphicsMagick1.3 available [ =1.3.29 ]
33 20 tomcat8.5 available [ =8.5.31 ]
実運用の際にはバージョン固定や -y
オプションを入れたりします。
1amazon-linux-extras install -y docker=18.03.1
Extras Library に関する説明は クラスメソッドさんがまとめてくれている ので、こちらを参考にすると良いでしょう。