Go Docker容器失败:“;出口代码1“;

Go Docker容器失败:“;出口代码1“;,docker,go,Docker,Go,我正试图在Docker容器中运行我的Go应用程序,但失败并给出错误退出代码1。该应用程序在我的本地机器上运行良好,但在Docker中不起作用 下面是我的Dockerfile FROM golang:1.8 as goimage RUN go get -u github.com/golang/dep/cmd/dep COPY . src/github.com/aditmayapada/tryout WORKDIR src/github.com/aditmayapada/tryout ENV

我正试图在Docker容器中运行我的Go应用程序,但失败并给出错误退出代码1。该应用程序在我的本地机器上运行良好,但在Docker中不起作用

下面是我的Dockerfile

FROM golang:1.8 as goimage

RUN go get -u github.com/golang/dep/cmd/dep

COPY . src/github.com/aditmayapada/tryout
WORKDIR src/github.com/aditmayapada/tryout


ENV PORT 9090

RUN dep ensure

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/main

FROM alpine:3.6 as baseimagealp
RUN apk add --no-cache bash
ENV WORK_DIR=/docker/bin
WORKDIR $WORK_DIR
# RUN mkdir src/github.com/aditmayapada/tryout/bin
# WORKDIR src/github.com/aditmayapada/tryout/bin
COPY --from=goimage /go/src/github.com/aditmayapada/tryout/bin ./
ENTRYPOINT /docker/bin/main
EXPOSE 9090
下面是我想在Docker中部署的应用程序存储库

我尝试使用docker事件获取日志,但我只得到了这个

然后我尝试在docker中使用--日志,但它没有显示任何内容


我是不是遗漏了什么?因为我的应用程序在本地机器上运行良好。。。谢谢。

我简单地看了一下您的代码,发现如果
connection.Ping()
返回错误,应用程序就可以完成
我建议在此空间中添加一些日志,以确定退出点。似乎docker中的DB连接有问题

错误1是“不允许操作”,因此我猜您可能被某种资源或安全约束绊倒了。我通常喜欢使用GOOS和GOARCH交叉编译,而不是在docker容器上进行实际构建。你可以通过这种方式获得更小的图像是的,你说得对!这是因为连接到数据库。非常感谢你