转到“找不到提供包的模块”

时间:2019-08-27 18:49:00

标签: docker go

我正在尝试通过导入来安装go docker官方客户端

“ github.com/docker/docker/client”

但是我收到以下错误消息

无法加载github.com/docker/distribution/reference:找不到提供软件包github.com/docker/distribution/reference的模块

我的go版本是1.12, 我的项目在$ GOPATH / src之外。我的go.mod文件看起来像这样。

module app

go 1.12

require (
  github.com/Microsoft/go-winio v0.4.14 // indirect
  github.com/docker/docker v1.13.1
  github.com/docker/go-connections v0.4.0 // indirect
  github.com/docker/go-units v0.4.0 // indirect
  golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 // indirect
)

2 个答案:

答案 0 :(得分:0)

基于docker documentation,它表示您必须执行On select all is clicked all the options to be selected On unchecking it all options to be removed 命令才能下载它。一旦检索到库,就应该编译。

答案 1 :(得分:0)

我记得我在1.5到2个月前遇到过类似的问题。

我的观察

  • Docker API有很多版本
  • 很难说出“官方”文档中描述的版本
  • API本身存在缺陷
  • 源代码-相当容易理解

我没有找到“实际上描述了官方文档?”的答案。或“码头工人API回购实际上在哪里?”

我放弃了尝试以“官方方式”解决问题的尝试,发现使用“非官方”方式更为实用

“非官方方式”

  • 使用docker/docker-ce(请注意,官方文档中的示例未经修改将无法使用)
  • 代替正式文档-只需在docker-ce存储库中搜索代码。
  • 我在这里找到docker/client用法的最佳示例:components/engine/integration/internal/container/exec.go(请注意,它位于internal中,不可能用作包)
  • 我将需要的代码捕获到程序包中,并解决了我遇到的问题

也许这是“不正确”的解决方案,但对我有用。

我认为不依赖docker文档对您来说更实用。

祝你好运!