尝试在Linux Ubuntu 18.04 LTS上安装Docker仓库时出错

6
抱歉,语言是德语。
所以我添加了docker的仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

但是当我更新源代码时,会出现错误:
sudo apt-get update

Ign:3 https://download.docker.com/linux/ubuntu bionic InRelease Fehl:4 https://download.docker.com/linux/ubuntu bionic Release
证书验证失败:证书不受信任。证书颁发者未知。无法握手:证书验证出错。[IP: 54.230.93.95 443] Holen:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB] OK:6 http://archive.ubuntu.com/ubuntu bionic-security InRelease Paketlisten werden gelesen... Fertig E: Das Depot »https://download.docker.com/linux/ubuntu bionic Release« enthält keine Release-Datei. N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert. N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).

是的,当你看到仓库无法刷新时,我需要该仓库来下载docker-ce,因为没有该仓库,它会显示以下信息:在输入sudo apt-get install docker-ce后,我会收到一条消息,说docker-ce不存在,请尝试从另一个数据源安装。 - Hozan
证书验证失败,您是否按照“使用存储库安装”的步骤进行操作?执行以下命令:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -apt-key fingerprint 0EBFCD88 - KamilCuk
1
是的,我已经这样做了。首先我得到了“OK”,然后当我检查指纹时:apt-key fingerprint 0EBFCD88 pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [unknown] Docker Release (CE deb) docker@docker.com sub rsa4096 2017-02-22 [S] 看起来一切都很好。 - Hozan
更多信息:'curl -kv -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -' 正在尝试54.192.130.134... 已连接到download.docker.com(54.192.130.134)的443端口(#0) ALPN,提供h2 证书验证位置设置成功: ALPN,服务器不同意协议 服务器证书: SSL证书验证结果:无法获取本地发行者证书(20),无论如何继续。**] GET /linux/ubuntu/gpg HTTP/1.1 主机:download.docker.com <HTTP/1.1 200 OK *连接到主机download.docker.com的#0已关闭 OK - Hozan
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository - ANSHUL GERA
显示剩余4条评论
1个回答

21

对于仍然遇到此问题的人,这是我从Ubuntu manpages中获得的解决方案。

原帖作者的帖子表明了证书验证错误:

Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: 54.230.93.95 443]

我在一台位于公司代理后面的虚拟机上遇到了类似的问题。代理充当中间人,在流经代理时解密和重新加密流量。尽管我已经在我的虚拟机上安装了代理的受信任证书,但仍然发生了由无效OCSP响应引起的错误。为了解决这个问题,我运行了以下命令:

touch /etc/apt/apt.conf.d/99verify-peer.conf \
&& echo >>/etc/apt/apt.conf.d/99verify-peer.conf "Acquire { https::Verify-Peer false }"

这将禁用apt的OCSP验证,不建议使用。

我选择了另一种解决方案,可能不适用于其他人。我们公司维护一种非解密代理,用于这种情况,所以我改用它。


你能告诉我如何开启证书验证吗? - Eugene W.
由于我不知道您的系统为何关闭了此功能,因此我只能建议您尝试运行以下命令:touch /etc/apt/apt.conf.d/99verify-peer.conf
&& echo >>/etc/apt/apt.conf.d/99verify-peer.conf "Acquire { https::Verify-Peer true }"
- WPWoodJr
2
运行得非常好,谢谢@WPWoodJr - Aditya Goel
假设代理服务器会剥离TLS头部信息是非常极端的想法。我遇到了类似的错误,尝试了curl -v https://download.docker.com命令,并且看到了SSL certificate verify ok.的输出。这个错误可能会出现,而且很可能是由其他原因引起的。 - Nir O.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接