FreeBSD里docker无版本号问题的处理
发现
按照《在FreeBSD上使用Docker》的做法安装成功了Docker,但是因为要用docker-compose,结果报错了,说找不到合适版本的docker,可是我明明装了。
docker -v
居然报版本号为unknown-version:
Docker version unknown-version, build unknown-commit
删除后重装最新版仍然如此,而且不论是用ports还是用pkgng安装都是这样。
只能自己想办法了。
解决
在ports里搜索了一下源码,发现版本信息是配置在cli/cli/version.go
这个文件里,但是直接改这个文件是没用的。
研究了一番发现,唯一的办法是给ports打patch。
在files文件夹里创建一个文件patch-components_cli_cli_version.go
,内容为:
--- components/cli/cli/version.go.orig 2018-09-27 08:03:45 UTC
+++ components/cli/cli/version.go
@@ -4,7 +4,7 @@ package cli
// These values are overridden via ldflags
var (
PlatformName = ""
- Version = "unknown-version"
+ Version = "18.06.0"
GitCommit = "unknown-commit"
BuildTime = "unknown-buildtime"
)
再安装一下:
make install clean
现在docker的版本号就正常了,docker-compose也可以正常使用了。
推送到[go4pro.org]