使用临时Docker容器时,显示以下错误消息““无法解组DNS消息”

时间:2019-01-11 04:54:14

标签: docker go dns

我正在尝试从我的go代码在本地运行暂存docker容器。 Dockerfile如下:

FROM golang:1.11.4 as builder


WORKDIR /app

ADD . .

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64  GOARM=7 make

FROM scratch
COPY --from=builder /app/myprogram .

在我的代码中,我尝试使用以下网址mongodb+srv://myusername:mypassword@my-staging-vki7g.gcp.mongodb.net

连接到mongodb

我可以在本地mongoshell上完美连接到此mongodb。 但是,当我运行Scracth容器时,出现以下错误

error parsing uri (mongodb+srv://myusername:mypassword@my-staging-vki7g.gcp.mongodb.net): lookup provendb-staging-vki7g.gcp.mongodb.net on 192.168.65.1:53: cannot unmarshal DNS message

是否需要添加任何依赖项?

1 个答案:

答案 0 :(得分:0)

我认为您会错过一些构建标志。还不确定为什么要编译为Docker容器的手臂。

我写了一篇关于构建Docker映像的博客文章,就像您在这里所做的那样。这可以帮助您解决问题。

https://marcofranssen.nl/docker-tips-and-tricks-for-your-go-projects/