首页 > 解决方案 > 从过去可以工作的 Dockerfile 构建问题

问题描述

我在从过去可以工作的 dockerfile 构建 docker 映像时遇到问题:

(我的dockerfile有更多步骤,但这足以重现)

FROM gcr.io/deeplearning-platform-release/tf2-gpu.2-2
RUN apt-get update && \
    apt-get install --no-install-recommends -y libsndfile-dev
ENTRYPOINT ["ls", "-l"]

运行时docker build,我收到以下错误(在步骤 2 中):

W: GPG error: http://packages.cloud.google.com/apt gcsfuse-bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY [some key] NO_PUBKEY [some key]
E: The repository 'http://packages.cloud.google.com/apt gcsfuse-bionic InRelease' is not signed.
W: GPG error: http://packages.cloud.google.com/apt cloud-sdk-bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY [some key] NO_PUBKEY [some key]
E: The repository 'http://packages.cloud.google.com/apt cloud-sdk-bionic InRelease' is not signed.

我已经在我的本地机器和云构建(在谷歌云上)上尝试过,但没有成功。
从图像tf2-gpu.2-4而不是tf2-gpu.2-2作品开始,但该版本与我依赖的其他依赖项不兼容。
请注意,组合tf2-gpu.2-2和 libsndfile-dev 以前可以正常工作,但现在不行了。

为什么我会收到这些错误,我该怎么做才能修复它们?

谢谢!

标签: dockergoogle-cloud-platform

解决方案


这是一个已知的问题。阅读内容以获取更多信息。

您可以首先使用以下命令添加正确的存储库 GPG 密钥。

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

更新的 Dockerfile 将是:

FROM gcr.io/deeplearning-platform-release/tf2-gpu.2-2
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
RUN apt-get update && \
    apt-get install --no-install-recommends -y libsndfile-dev
ENTRYPOINT ["ls", "-l"]

推荐阅读