【问题标题】:compiling docker on win64 using go使用 go 在 win64 上编译 docker
【发布时间】:2014-12-03 19:14:53
【问题描述】:
C:\Go\src\pkg\github.com\docker\docker>去构建 # github.com/docker/docker/pkg/system pkg\system\meminfo_unsupported.go:6:未定义:ErrNotSupportedPlatform pkg\system\stat_unsupported.go:7:未定义:syscall.Stat_t pkg\system\stat_unsupported.go:12:未定义:syscall.Stat_t pkg\system\utimes_unsupported.go:8: 未定义: ErrNotSupportedPlatform pkg\system\utimes_unsupported.go:12:未定义:ErrNotSupportedPlatform pkg\system\xattrs_unsupported.go:6:未定义:ErrNotSupportedPlatform pkg\system\xattrs_unsupported.go:10:未定义:ErrNotSupportedPlatform # github.com/docker/docker/pkg/term pkg\term\term.go:16:未定义:Termios # github.com/docker/libcontainer/devices ..\libcontainer\devices\devices.go:73:未定义:syscall.Stat_t

我缺少的是未找到的 syscal pkg 其他人都带着这个

【问题讨论】:

  • docker 不使用通常的 go build 系统。您应该使用二进制发行版,或者深入了解它们的 Makefile,并构建脚本以查看发生了什么。
  • 他们的 makefile 已经期望 docker 被编译它是我在 boot2docker 论坛中编译的,但我遇到了一些人遇到的同样问题
  • 无论如何,你不能用go build 构建docker。他们的 Makefile 可能会在 docker 中引导构建,因此您必须进一步深入构建链。查看贡献者或打包者的文档。
  • 你知道只有docker客户端可以在windows上运行吗?仅在客户端代码上运行go build可能有效,但客户端和服务器必须具有匹配的 api 版本。
  • 是的 docker 比与 boot2docker 的接口,但现在我希望能够在 docker 类型的文件上做厨房列表并成功

标签: go docker boot2docker win64


【解决方案1】:

我还没有花时间尝试,但您可能想阅读https://ahmetalpbalkan.com/blog/compiling-docker-cli-on-windows/

【讨论】:

  • 一旦编译了 tcp://127.0.0.1:4243,因为 docker 守护进程没有运行
  • 你在 windows 上构建的不是 docker 守护进程,它只是一个客户端。所以你需要做类似docker -H tcp://linuxbox:2375的事情 - 或者设置DOCKER_HOST env var
  • 对于那些希望使用此工具的人,您必须通过编辑几个“通用”文件手动将版本号从 1.16 更改为 1.15,您还必须创建“.docker”目录并放置在其中“ca.pem,cert.pem,key.pem”因为 tls,然后它会工作并唱歌
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 2011-05-10
  • 1970-01-01
相关资源
最近更新 更多