我正在用GO编写一个简单的应用程序,我有一个文件夹结构

docker-compose.yml文件内容是:
version: '2'
services:
db:
image: rethinkdb:latest
ports:
- "38080:8080"
- "38015:28015"
- "39015:29015"
api:
image: golang:1.8-alpine
volumes:
- .:/go/src/test_server/
working_dir: /go/src/test_server
command: go run server.go
container_name: test_server
ports:
- "8085:8085"
links:
- db
tty: true每次运行docker-组合时,我都会收到以下错误消息:
of: 4:3:无法找到包"_/go/src/test_server/vendor/github.com/gin-gonic/gin“中的任何一个: test_server / /usr/local/go/src/_/go/src/test_server/vendor/github.com/gin-gonic/gin (来自$GOROOT) test_server /go/src/_/go/src/test_server/vendor/github.com/gin-gonic/gin (来自$GOPATH)
它指的是控制器包。我正在使用github.com/kardianos/govendor来提供我的软件包。你知道怎么回事吗?
发布于 2017-05-27 18:30:48
许多小时后,我终于能修好它了。结果是我使用的是一个没有git包含的对接者golang版本。我应该用歌朗:1.8
我对我的Dockerfile做了这样的修改,现在它就像一种魅力
FROM golang:1.8
RUN go get github.com/gin-gonic/gin
WORKDIR /go/src/app
COPY . .
RUN go install -v
CMD ["app"]发布于 2017-05-26 21:55:46
你需要告诉我去哪里找到包裹:
api:
...
environment:
- GOPATH=/go/src/test_server或者安装一个带有适当包的Dockerfile (推荐)
发布于 2017-05-27 19:59:16
我认为这是因为您的更新代码正在运行go安装,而不是运行旧代码运行的go。
您需要将额外的golang包安装到从应用程序调用的供应商目录中。
https://stackoverflow.com/questions/44210502
复制相似问题