🐳
Amazon Linux 2 で Docker がハングする
課題
Amazon Linux 2 で Docker をインストール sudo amazon-linux-extras install docker
すると latest である 20.10.4 がインストールされるようになりました。(2021年5月現在)
しかしこのバージョンは docker start --attach
でハングするバグがあり 20.10.5 で修正されています。
直接 docker start --attach
を使っていなくても docker-compose run
などの内部で docker start --attach
が実行されるとハングします。(--verbose
オプションを付けて確認)
Docker >= 20.10.5 へバージョンアップ
現在はできないようです。
Docker 20.10.4 でのワークアラウンド
環境変数に COMPOSE_INTERACTIVE_NO_CLI=1
を設定すると回避できるようです。
docker-compose run
に -T
オプションを指定して実行するだけではダメでした。
Docker 19.03.13 をインストールする
普通にインストールしようとしてもうまくいかない
$ amazon-linux-extras list
20 docker=latest enabled \
[ =17.12.1 =18.03.1 =18.06.1 =18.09.9 =stable ]
$ yum --showduplicates list docker
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Available Packages
docker.x86_64 17.06.2ce-1.102.amzn2 amzn2extra-docker
docker.x86_64 17.12.1ce-2.amzn2 amzn2extra-docker
docker.x86_64 18.03.1ce-2.amzn2 amzn2extra-docker
docker.x86_64 18.03.1ce-3.amzn2 amzn2extra-docker
docker.x86_64 18.03.1ce-5.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-2.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-4.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-5.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-6.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-7.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-8.amzn2 amzn2extra-docker
docker.x86_64 18.06.1ce-10.amzn2 amzn2extra-docker
docker.x86_64 18.09.9ce-2.amzn2 amzn2extra-docker
docker.x86_64 19.03.6ce-1.amzn2 amzn2extra-docker
docker.x86_64 19.03.6ce-2.amzn2 amzn2extra-docker
docker.x86_64 19.03.6ce-3.amzn2 amzn2extra-docker
docker.x86_64 19.03.6ce-4.amzn2 amzn2extra-docker
docker.x86_64 19.03.13ce-1.amzn2 amzn2extra-docker
docker.x86_64 20.10.4-1.amzn2 amzn2extra-docker
$ sudo amazon-linux-extras install docker=19.03.13
Installing docker
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-docker
12 metadata files removed
4 sqlite files removed
0 metadata files removed
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/2/extras/docker/19.03.13/x86_64/mirror.list error was
14: HTTPS Error 403 - Forbidden
(1/3): amzn2-core/2/x86_64/group_gz | 2.5 kB 00:00:00
(2/3): amzn2-core/2/x86_64/updateinfo | 367 kB 00:00:00
(3/3): amzn2-core/2/x86_64/primary_db | 52 MB 00:00:01
No package docker available.
Error: Nothing to do
docker is available in Amazon Linux Extra topic "docker"
To use, run
# sudo amazon-linux-extras install docker
Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras
Installation failed. Check that you have permissions to install.
一度 amazon-linux-extras install
を実行してしまうと yum install
しようとしてもダメ。
$ sudo yum install docker-19.03.13ce-1.amzn2.x86_64
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/2/extras/docker/19.03.13/x86_64/mirror.list error was
14: HTTPS Error 403 - Forbidden
No package docker-19.03.13ce-1.amzn2.x86_64 available.
Error: Nothing to do
metadata を消して yum install
してもダメ。
$ sudo yum clean metadata
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-docker
5 metadata files removed
2 sqlite files removed
0 metadata files removed
$ sudo yum install docker-19.03.13ce-1.amzn2.x86_64
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/2/extras/docker/19.03.13/x86_64/mirror.list error was
14: HTTPS Error 403 - Forbidden
(1/3): amzn2-core/2/x86_64/group_gz | 2.5 kB 00:00:00
(2/3): amzn2-core/2/x86_64/updateinfo | 367 kB 00:00:00
(3/3): amzn2-core/2/x86_64/primary_db | 52 MB 00:00:01
No package docker-19.03.13ce-1.amzn2.x86_64 available.
Error: Nothing to do
起動直後の真っ新な状態で yum install
するか、
$ sudo yum install docker-19.03.13ce-1.amzn2.x86_64
一度 amazon-linux-extras install
を実行してしまうとうまくいかないようなので docker を有効化しなおして metadata をクリアするといいようです。
$ sudo amazon-linux-extras enable docker
$ sudo yum clean metadata
$ sudo yum install docker-19.03.13ce-1.amzn2.x86_64
$ docker -v
Docker version 19.03.13-ce, build 4484c46
Discussion