Docker for Macで docker build
していたところ apt-get
で署名検証失敗エラーが出たが、真の原因はDockerイメージの保存用ファイルがfullだったからだった。
ざっくりまとめ
- Docker for Mac全体でのDockerイメージを保持するためのファイルのサイズ上限を決める設定がある
docker build
時に上記の上限を超えると、原因とは別のエラーが出る (今回でいうとAt least one invalid signature was encountered.
)- そうなったらイメージファイルのサイズ上限を引き上げるか、
docker system prune
などを叩いてお掃除する必要がある
↓ Docker for Mac全体でのDockerイメージを保持するためのファイルのサイズ上限を決める設定
調べたこと
Docker for Mac (Docker Desktop) で docker build
をしたところ、下記のようなエラーが出た。
$ docker-compose up -d --build ... => ERROR [app stage-0 2/8] RUN apt-get update 0.9s ------ > [app stage-0 2/8] RUN apt-get update: 0.143 Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB] 0.170 Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] 0.181 Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] 0.183 Err:1 http://deb.debian.org/debian bookworm InRelease 0.183 At least one invalid signature was encountered. 0.195 Err:2 http://deb.debian.org/debian bookworm-updates InRelease 0.195 At least one invalid signature was encountered. 0.207 Err:3 http://deb.debian.org/debian-security bookworm-security InRelease 0.207 At least one invalid signature was encountered. 0.208 Reading package lists... 0.211 W: GPG error: http://deb.debian.org/debian bookworm InRelease: At least one invalid signature was encountered. 0.211 E: The repository 'http://deb.debian.org/debian bookworm InRelease' is not signed. 0.211 W: GPG error: http://deb.debian.org/debian bookworm-updates InRelease: At least one invalid signature was encountered. 0.211 E: The repository 'http://deb.debian.org/debian bookworm-updates InRelease' is not signed. 0.211 W: GPG error: http://deb.debian.org/debian-security bookworm-security InRelease: At least one invalid signature was encountered. 0.211 E: The repository 'http://deb.debian.org/debian-security bookworm-security InRelease' is not signed. ------ failed to solve: process "/bin/sh -c apt-get update" did not complete successfully: exit code: 100
エラーを素直に読むとビルド失敗の原因は下記で、署名自体または署名の検証に何らかの問題がありそうと読み取れる。
0.183 Err:1 http://deb.debian.org/debian bookworm InRelease 0.183 At least one invalid signature was encountered.
が、実際には署名には問題がなく、真の原因はそこではなかった。
Docker "At least one invalid signature was encountered."
というキーワードでググったところ、下記の記事がヒットした。
Docker for Macは使い続けるとコンテナデータやDockerイメージが溜まることを知っていた (以前にも苦しめられたとも言う) ので、Docker for Macの設定より Virtual disk limit
を 128GB
から 184GB
へ引き上げたところビルドが通るようになったことを確認した。
Docker for Macの設定よりDockerイメージファイルがある場所を突き止め、下記記事を参考にコマンドを叩いたところ (117973668 / 1024/ 1024) = 112.5GBを実際に使っていたことを確認した。このとき、 ls -lh
などでパッとでるサイズは割り当て済みサイズで、実際に使用済みの容量ではないことに注意。
原因がわかってスッキリ〜。
ざっくりまとめ (再掲)
- Docker for Mac全体でのDockerイメージを保持するためのファイルのサイズ上限を決める設定がある
docker build
時に上記の上限を超えると、原因とは別のエラーが出る (今回でいうとAt least one invalid signature was encountered.
)- そうなったらイメージファイルのサイズ上限を引き上げるか、
docker system prune
などを叩いてお掃除する必要がある