docker-compose找不到软件包

我在GO中编写了一个简单的应用程序,并且具有此文件夹结构

enter image description here

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-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

我像这样修改了我的Dockerfile,现在它就像一个符咒一样工作

FROM golang:1.8

RUN go get github.com/gin-gonic/gin

WORKDIR /go/src/app
COPY . .

RUN go install -v

CMD ["app"]

相关文章

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Li...
1、什么是docker?答:docker是开源的应用容器引擎;开发人员把他们的应用及依赖包打包发布到容器当中。...
1、什么是namespace? 答:名称空间,作用隔离容器 2、namespace隔离有那些? 答:ipc:共享内存、消息队...
1、Docker能在非Linux平台(Windows+MacOS)上运行吗? 答:可以 2 、如何将一台宿主机的docker环境...
环境要求: IP hostname 192.168.1.1 node1 项目规划: 容器网段:172.16.10.0/24 NGINX:172.16.10.10...
文档上传地址:https://files.cnblogs.com/files/lin-strive/07-docker%E8%B7%A8%E4%B8%BB%E6%9C%BA%E7...