docker - 在 Amazon Linux 2 上运行 yum 时出错 - “SSL 证书问题:无法获取本地颁发者证书”
问题描述
我有一个基于在我的工作计算机上运行的最新 amazonlinux 映像的 Docker 容器,当我尝试运行 yum “anything”(例如yum update
,yum install ____
)时出现此错误:
failure: repodata/repomd.xml from amzn2-core: [Errno 256] No more mirrors to try.
https://cdn.amazonlinux.com/2/core/2.0/x86_64/f915d0987d73328ab3992d03ddbce189bca8804de19d89f09b847dfcaa6bc1af/repodata/repomd.xml?instance_id=URLError®ion=unknown: [Errno 14] curl#60 - "SSL certificate problem: unable to get local issuer certificate"
解决方案
此问题是使用公司代理(工作计算机!!1!)的结果。一个直接的解决方案是离开公司代理或在家中使用另一台计算机(我们都是远程的,对吗?)如果你真的很紧要关头。
我找到了可能的解决方案,比如将代理设置添加到/etc/yum.conf
文件中。这是有道理的,但对于无状态的 Docker 容器来说并不实用。当然,答案不是构建具有内置代理设置的 vanilla docker 镜像的自定义版本......
看起来我可以将代理设置添加到 Docker,并且代理设置会自动传递给容器。这可能就是要走的路。
E:我的 IT 部门能够将 URL amazonlinux.com 列入白名单,这解决了问题。我在尝试添加 EPEL 时遇到了类似的问题,解决方案是将该 URL (fedoraproject.org) 添加到公司代理的 ssl 绕过组。这是必要的,因为 fedoraproject.org 使用 SSL pinning 来防止中间人攻击(并且代理是中间人)。
推荐阅读
- javascript - 点击画布上的 Javascript 10 行告诉您点击了哪一行
- apache - 将 url 重定向到在 htaccess 中不起作用的特定端口
- javascript - 具有嵌套 forEach 和 for 循环的函数不会返回 false
- ios - 将表格视图的单元格样式设置为 .subtitle 时是否需要使单元格出列?
- java - 在服务器上运行时出现 Spring MVC HTTP 状态 404 错误
- javascript - svg 圆对于 mouseevent 来说太小了
- c# - C# 代码将两个 ID 注册为相同的输入参数
- python - 如果它们包含“???”,则删除 pandas 中的行
- c - 进程链中的未命名管道 - C
- javascript - 创建另一个文件中的类的实例而不创建新变量