我知道您可以使用以下命令安装特定版本的 yum 包<package name>-<version>
:
yum install docker-engine-1.8.2
但是我尝试使用环境变量来自定义它,这样如果设置了,我们就使用该版本,否则就使用最新版本。有没有像“最新”这样的伪版本号可以工作?
yum install docker-engine-${DOCKER_VERSION:-latest}
显然,使用“latest”不起作用,但有等效的东西吗?通常我只会在这里使用 if 条件,但这实际上是 Dockerfile 中的一行,而不是 shell 脚本,因此它的功能相当有限。
答案1
我发现,如果设置了 var,${VAR:+...} 将允许您使用“...”,否则它将为空。因此,将其与 ${VAR:-...} 一起使用可以得到我想要的结果:
yum install docker${DOCKER_VERSION:+-}${DOCKER_VERSION}
所以如果DOCKER_VERSION
将其设置为“1.8.2”将如下所示:
yum install docker-1.8.2
如果没有设置,则显示如下
yum install docker