Docker-编写 golang - 没有可构建的源代码

Docker-Compose golang - No buildable Source

我已经学习了几个教程,但无法弄清楚我做错了什么。我怀疑它是一个非常基本的原则,但由于我是 GoLang 和 docker-compose 的新手,所以我不能 100% 确定哪个是我的问题。

我是 运行 golang:build docker 图像,它刚刚检索了几个 github 存储库。

如有任何帮助,我们将不胜感激。

错误如下:

+ exec go get -v -d
can't load package: package app: no buildable Go source files in /go/src/app
Service 'ddd' failed to build: The command '/bin/sh -c go-wrapper download' returned a non-zero code: 1

Docker-Compose 文件如下所示

ddd:
  build: ./goSvc
  working_dir: /go/src/
  command: go run main.go
  volumes:
    - ./goSvc/src/main.go:/go/src/main.go
    - ./goSvc/src/ddd:/go/src/ddd
  ports:
    - 8080:8080
  environment:
    - DB_NAME=rnse
    - DEBUG=true

转到项目结构

root
  goSvc
    pkg
    src
      ddd
        internal
          logic
        ...myGoFiles
      github.com
      main.go
    Dockerfile

编辑: 包括 docker golang 文件:

FROM golang:onbuild
RUN go get github.com/gorilla/mux
RUN go get github.com/lib/pq
EXPOSE 8080

您使用的镜像用于在构建初始镜像时自动构建 Go 应用程序。

看看Dockerfile。有ONBUILD COPY . /go/src/app条语句。

所以你可以找到 main.go 所在的 Dockerfile 或者使用没有 ONBUILD 触发器的图像然后 运行 go run manually/with docker-compose.