我在GO中编写了一个简单的应用程序,并且具有此文件夹结构
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-compose up时,都会收到以下错误消息:
test_server | controllers/users.go:4:3: cannot find package
“_/go/src/test_server/vendor/github.com/gin-gonic/gin” in any of:
test_server |
/usr/local/go/src/_/go/src/test_server/vendor/github.com/gin-gonic/gin
(from $GOROOT) test_server |
/go/src/_/go/src/test_server/vendor/github.com/gin-gonic/gin (from
$GOPATH)
它指的是控制器包.我正在使用github.com/kardianos/govendor供应我的软件包.你知道发生了什么吗?
最佳答案
几个小时后,我终于可以修复它.
结果我正在使用不包含git的docker golang版本.我应该使用golang:1.8
结果我正在使用不包含git的docker golang版本.我应该使用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"]