我正在尝试在现有的 RPI Docker 映像上构建 Docker - 直到最近该映像都运行良好。尝试运行 apt-get update 时失败。
完整的错误是:
GPG 错误:https://apt.kitware.com/ubuntu 焦点 InRelease:由于公钥不可用,无法验证以下签名:NO_PUBKEY 1A127079A92F09ED
在Stack Overflow和其他站点闲逛后,我发现两个最常见的解决方案是:
从存储库获取密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>
这对我来说不起作用 - 我尝试了几个存储库并全部返回:
gpg: keyserver receive failed: No data
更新Docker(我已经更新了)。
根据请求,以下是我正在使用的基本 Dockerfile,它构建在 ros:foxy:
之上FROM ros:foxy
ENV SHELL /bin/bash
SHELL ["/bin/bash", "-c"]
ENV MAKEFLAGS="-j 1"
ENV LOCAL_WS=/ros2_ws
#Following are some attempts I made which didn't work:
#RUN sh -c 'curl -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg'
#RUN echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/kitware.list
#RUN apt-key adv --keyserver hkps://keys.openpgp.org --recv-keys 1A127079A92F09ED
# && gpg --export 1A127079A92F09ED | apt-key add -
RUN apt-get update \
&& apt-get install -y --no-install-recommends gdb vim
........
我还能尝试什么?
尝试构建 Docker,但由于缺少 ubuntu 20.04 密钥而导致 apt-get 更新失败
我能够通过在 apt-get update 之前添加以下行来解决该问题:
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null