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]