AI

Docker buildでthe public key is not available: NO_PUBKEY A4B469963BF863CC への対処

びっくりしましたよね。昨日まで普通に通っていたビルドが急に通らなくなったのですから。でも落ちついて対処しましょう。やるべきことはシンプルです。

トラブルの原因

Notice; CUDA Linux Repository Key Rotation

対処

上記のページに書いてあることをただやるだけです。ただしDocker環境でこれが発生している場合は、Dockerfileに対応を追記しリビルドする必要があります。

Docker環境での対処

たとえば、Dockerfileの冒頭で、”FROM nvidia/cuda:11.2.0-cudnn8-runtime-ubuntu20.04″ と記述している場合は、その直下あたりに、”RUN apt-key adv –fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub”と追記してリビルドをかければよいはずです。少なくとも私の環境ではそれでトラブルは解決しました。

FROM nvidia/cuda:11.2.0-cudnn8-runtime-ubuntu20.04

RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pu

Invalid public key for CUDA apt repository このあたりも読んで、落ち着いて対処しましょう。

ところが

話しはそんな簡単じゃない場合もありますね…

突然神の声によりかなり昔のDockerfileをリビルドしなければならなくなったのですが、上記の対処ではエラー。おまけに非推奨のワーニングも出てる。どうしよう…

以下のあたりを導入して自力でCUDA環境を作っていたころのDockerfile。簡単にはいかないだろうか…

https://gitlab.com/nvidia/cuda/blob/ubuntu18.04/10.0/base/Dockerfile
https://gitlab.com/nvidia/cuda/blob/ubuntu16.04/9.0/base/Dockerfile

落ち着いて落ち着いて。解決策はとても簡単なところにあるかも知れません。グッディーの場合だと、もともと以下のように鍵を追加していたので、その下に新しい鍵を追加する一文を書いてリビルドしてみると…

RUN apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates
RUN curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub | apt-key add -
# 今回追加 ↓
RUN curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | apt-key add -

無事フルビルドできました !

apt-keyを使うこと自体が非推奨のようですが、ここはここでまだいろいろ闇があるようなので、今回はあえていばらの道は選びませんでした。

さいごに

何があったのかわかりませんが、このタイミングというのは狙ったものなのでしょうか。GW明けの混乱が目に見えるようですが、落ち着いて対処しましょう。


   
関連記事
  • Staticなffmpegがとてもusefulだった話
  • Docker containerからHostのCamera画像を取得してHostのDisplayに出力する
  • Docker container内でsudoするとsudo: effective uid is not 0と言われる問題が解決 !
  • Docker + opencv-pythonでImportError: libGL.so.1が出て調べたこと

    コメントを残す

    *

    CAPTCHA