【问题标题】:Docker-Compose golang - No buildable SourceDocker-Compose golang - 没有可构建的源
【发布时间】:2015-09-21 03:32:31
【问题描述】:

我已经学习了几个教程,但无法弄清楚我做错了什么。我怀疑它是一个非常基本的原则,但由于我是 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

Go 项目结构

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

编辑: 包括 golang 的 docker 文件:

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

【问题讨论】:

  • /go/src 中有什么内容?在您的问题中,/goSvc 和 /go 之间似乎有些混淆。通常会有一个安装 Go 的位置(比如说 /usr/local/go),然后是您的 Go 工作区 golang.org/doc/code.html,GOPATH 环境变量应该指向该位置。目前尚不清楚您的问题是什么。也许先不使用 Docker?
  • 对我来说,构建 docker 映像时似乎出现了问题。你也可以包括它(Dockerfile)吗?并尝试使用 docker 命令构建镜像
  • @GuySirton goSvc 只是我在本地 golang 源传播到 docker 容器之前保存的文件夹。 root(pwd) = /home/highstead/projects/goSvc
  • @fuxi 已附上,谢谢。

标签: go docker-compose


【解决方案1】:

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

看看它是Dockerfile。有ONBUILD COPY . /go/src/app声明。

因此,您可以找到main.go 所在的Dockerfile,或者使用没有ONBUILD 触发器的映像,然后手动运行go run/使用docker-compose。

【讨论】:

    猜你喜欢
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多