Installation

通過環境變數安裝特定版本的 yum pacakge 或預設為最新版本

  • February 1, 2016

我知道您可以使用以下方式安裝特定版本的 yum 軟體包<package name>-<version>

yum install docker-engine-1.8.2

但是我正在嘗試使用環境變數對其進行自定義,這樣如果已設置,我們將使用該版本,否則我們使用最新版本。是否有某種偽版本號(例如“最新”)可以使用?

yum install docker-engine-${DOCKER_VERSION:-latest}

顯然,使用“最新”是行不通的,但有什麼等價的嗎?通常我會在這裡使用 if 條件,但這實際上是 Dockerfile 中的一行而不是 shell 腳本,所以它可以做的事情相當有限。

我找到 $ {VAR:+…} will let you use “…” if the var is set, otherwise it will be empty. So using that with $ {VAR:-…} 給了我我想要的東西:

yum install docker${DOCKER_VERSION:+-}${DOCKER_VERSION}

所以如果DOCKER_VERSION將其設置為“1.8.2”將如下所示:

yum install docker-1.8.2

如果沒有設置,它看起來像

yum install docker

引用自:https://serverfault.com/questions/752207