我有个奇怪的问题。我有以下Dockerfile
:
FROM openjdk:8-jre-alpine3.8
WORKDIR /app
RUN apk --no-cache add curl bash g++ postgresql-dev python3-dev
COPY requirements.txt /app
RUN pip3 install -r requirements.txt
...
我用命令docker build -t mydocker .
构建它。它在其他计算机上运行良好,但在我的计算机上失败,错误如下:
这个错误提到了名称fireonskull.com
,这听起来很熟悉。我曾经在我的计算机上有这个域的SSL证书。在
但是docker build
与我系统上的文件有什么关系呢。另外,pip install
在主机操作系统上也可以正常工作。请帮忙!在
假设您是从
openjdk
映像运行的,它并不具备ptyhon所需的一切,请将其添加到dockerfile中据我所见,您在SSL检查/验证方面有问题。 尝试在pip安装步骤中添加以下内容:
一个脏的快速修复程序可能是定义容器应该在构建命令中使用的dn:
但这当然不能解决根本原因。@基奇克在上面的评论中提到了一些事情。您需要调试名称的解析方式。我更喜欢在交互式shell中这样做。在
^{pr2}$首先检查使用的dns服务器:
^{3}$我得到nameserver 192.168.65.1,它是主机
现在安装bind工具来获取挖掘和查询pypi.org网站在
这应该会给你一个假设是这样的答案:
很可能你的答案会告诉你dns没有正确解析。要获取有关如何解析域的更多信息,请使用dig的+trace选项
这将有望揭示出什么回复地址错误。在
这是我的第一个答案,留这里备查
考虑到它可以在主机操作系统上运行,听起来就像在docker配置中设置了代理。在
打开docker首选项并转到“代理”选项卡查看。在
它也可能在你的~/.docker中/配置.json. 像这样:
来源:https://docs.docker.com/network/proxy/
相关问题 更多 >
编程相关推荐