找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 488|回复: 9

超级恶心的docker编译过程,折腾了一天,忍不住吐槽

[复制链接]
本帖最后由 wulishui 于 2023-11-1 23:51 编辑

之前吐槽transmission、qbittorrent编译过程痛苦万分,高人说用docker安装这两个东西岂不是更好?我早有试过,编译docker和编译这两玩意过程半斤八两,虽痛苦,但以往起码能编译,现在你要是做个听话的人,端端正正是绝对编译不了了。
  1. go: downloading github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375
  2. ../../cmd/main.go:22:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
  3. ../../cmd/main.go:23:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
  4. ../../cmd/main.go:24:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
  5. ../../cmd/main.go:25:2: github.com/docker/cli@v24.0.6+incompatible: Get "https://proxy.golang.org/github.com/docker/cli/@v/v24.0.6+incompatible.zip": dial tcp 142.251.43.17:443: connect: connection refused
  6. ../../cmd/compose/build.go:25:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
  7. ../../cmd/compose/compose.go:30:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
  8. ../../cmd/compose/build.go:26:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
  9. ../../cmd/compose/build.go:27:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
  10. ../../cmd/compose/compose.go:32:2: github.com/compose-spec/compose-go@v1.19.0: Get "https://proxy.golang.org/github.com/compose-spec/compose-go/@v/v1.19.0.zip": dial tcp 142.251.43.17:443: connect: connection refused
  11. ../../cmd/compose/compose.go:33:2: github.com/docker/buildx@v0.11.2: Get "https://proxy.golang.org/github.com/docker/buildx/@v/v0.11.2.zip": dial tcp 142.251.42.241:443: connect: connection refused
复制代码
这其实是该死的golang官方加入的一个袋里。为什么叫“袋里”?因为它不加还好,加了,就真的死了。
想尽办法去不掉。
首先动源码,找到凡是包含proxy.golang.org的文件,复制出来作为src,通通改成goproxy.cn,行不通,编译依然死也要使用https://proxy.golang.org。
没办法,找到
https://goproxy.cn/去了,使用:
$ export GO111MODULE=on$ export GOPROXY=https://goproxy.cn依然不行,编译死也要使用https://proxy.golang.org
再试:
$ echo "export GO111MODULE=on" >> ~/.profile$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile$ source ~/.profile依然不行,死也使用https://proxy.golang.org
现在在makefile里面加:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
还不知道行不行。就这样从早上到晚上,一天过去了。


实践证明,什么办法都不行,仅仅在makefile动手脚可行:
在makefile里面加:
export GO111MODULE=on
export GOPROXY=https://goproxy.cn

docker编译通过了,dockerd又没法编译了,NMG13!
  1. # $(1) = path to dependent package 'Makefile'
  2. # $(2) = relevant dependency '.installer' file
  3. define EnsureVendoredVersion
  4.         ( \
  5.                 DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_VERSION:=)(.*)' "$(1)" ); \
  6.                 VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_VERSION:=v)(.*)(?=})' "$(PKG_BUILD_DIR)/hack/dockerfile/install/$(2)" ); \
  7.                 if [ "$$$${VEN_VER}" != "$$$${DEP_VER}" ]; then \
  8.                         echo "ERROR: Expected 'PKG_VERSION:=$$$${VEN_VER}' in '$(1)', found 'PKG_VERSION:=$$$${DEP_VER}'"; \
  9.                         exit 1; \
  10.                 fi \
  11.         )
  12. endef
复制代码
  1. # Verify dependencies are the vendored version
  2.         $(call EnsureVendoredVersion,../containerd/Makefile,containerd.installer)
  3.         $(call EnsureVendoredVersion,../runc/Makefile,runc.installer)
  4.         $(call EnsureVendoredVersion,../tini/Makefile,tini.installer)
复制代码
这几个版本验证特么有问题。
比如:
../containerd/Makefile ----特么根本就不存在!
../containerd-1.7.1/Makefile ----这才是存在的!
因为 containerd 的编译目录根本就不是“containerd”,而是containerd-$PKG_VERSION
同样,后面两个一样不存在。
为什么那么多人能编译,我就奇了怪了!
对于我等使用正式版源码的人来说,这个校验多余,因为测试版时候人家已经验证过了,都是匹配的。
直接干掉。


我的恩山、我的无线 The best wifi forum is right here.
还是要多核跑 快太多

点评

什么多核,它这个proxy.golang.org是无药可救的,非逼着你要爬出去外面世界。但是我不想爬,我不想被扣个什么莫须有的铁锅  详情 回复 发表于 2023-11-1 21:48
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 wulishui 于 2023-11-1 21:49 编辑
iamyangyi 发表于 2023-11-1 21:45
还是要多核跑 快太多

什么多核,它这个proxy.golang.org是无药可救的,非逼着你要爬出去外面世界。但是我不想爬,我不想被扣个什么莫须有的铁锅。本来github还是多多少少能git的,它这样直接把你堵死。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

docker 完全可以无需编译直接安装

点评

好吧,就这样办好了  详情 回复 发表于 2023-11-1 22:01
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
edywh 发表于 2023-11-1 21:57
docker 完全可以无需编译直接安装

好吧,就这样办好了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

直接整个软路由上网海淘深造
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
我是说 我现在不敢不开最满核 生怕时间过长 “师夷长技以制夷”断了 白搞

点评

我不敢出去。用了20年的g-mail,眼睁睁看着没了  详情 回复 发表于 2023-11-1 23:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
iamyangyi 发表于 2023-11-1 23:17
我是说 我现在不敢不开最满核 生怕时间过长 “师夷长技以制夷”断了 白搞

我不敢出去。用了20年的g-mail,眼睁睁看着没了

点评

SM单位?  详情 回复 发表于 2023-11-1 23:41
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
wulishui 发表于 2023-11-1 23:34
我不敢出去。用了20年的g-mail,眼睁睁看着没了

SM单位?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报


现在要编译确实需要一些手段
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-28 06:02

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表