我现在正在使用C++编写的服务器,它使用
cpprestsdk
.
boost::asio
. 我的大部分开发是在Mac上完成的,而不是在Docker容器中。当需要部署一个新版本时,我构建了一个Docker容器,该容器将在EC2实例上运行。
cpprestsdk软件包
http_client
. 在发送请求的代码中,它将执行
asio
async_resolve
. 此操作将失败并出现错误
我已经决定如果我把基础图像改成
ubuntu:16.04
,则它将正常运行。
busybox
和
alpine
会产生那个错误。我还发现如果我用
curl
然后它可以从我使用的端点下载数据。但是如果我使用
nslookup
在谷歌网站产量
我尝试了一些基于我在网上发现的东西,比如使用
numeric_service
和一个
query
,使用“http”作为端口而不是“80”(我也做了SSL版本)。我也试着用主机的DNS运行容器。
例如,这是我回顾的一个链接。
boost asio: "host not found (authorative)"
到目前为止,我还没有找到如何让它正常工作。
请注意,作为后备方案,我可以使用
ubuntu:16.04版本
busybox(软件名)
或
阿尔卑斯山