docker - 转到 Docker 容器失败 : "Exit Code 1"

标签 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 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 中部署的应用程序存储库 https://github.com/aditmayapada/tryout

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

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

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

最佳答案

我简要地查看了您的代码,发现当 connection.Ping() 返回错误时,应用程序可能会完成 https://github.com/aditmayapada/tryout/blob/master/main.go#L44 我建议在此空间中添加一些日志记录以确定退出点。在 docker 中连接到 DB 似乎有问题。

关于docker - 转到 Docker 容器失败 : "Exit Code 1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52818689/

相关文章:

mysql - Docker + mysql + php + Symfony,连接mysql时出错

json - 如何在 Go 中将 JSON 解码为接口(interface){}?

go - Golang 中的多个发送者到单个 channel

go - io.ReadCloser 的使用

docker - Redis 损坏日期 :6-alpine on RasPi

mongodb - 通过ssh启动时Docker容器mongod错误

scala - 如何在运行时为 docker 容器提供端口号?

linux - Docker - 如何编写自定义负载均衡器?

go - 动态列出结构字段和方法

node.js - 如何在 Windows 上使用文件描述符 4(或其等价物)?