Я знаю, что вы можете установить определенную версию пакета yum, используя <package name>-<version>
как это:
yum install docker-engine-1.8.2
Но я пытаюсь настроить это с помощью переменной среды, чтобы, если она установлена, мы использовали эту версию, иначе мы использовали последнюю. Есть ли какой-нибудь псевдо-номер версии, такой как «последняя», который подойдет?
yum install docker-engine-${DOCKER_VERSION:-latest}
Очевидно, что использование последней версии не сработает, но есть ли что-нибудь эквивалентное? Обычно я бы просто использовал здесь условное if, но на самом деле это строка в Dockerfile, а не сценарий оболочки, поэтому он довольно ограничен в том, что он может делать.
Я обнаружил, что $ {VAR: + ...} позволит вам использовать "...", если переменная установлена, иначе она будет пустой. Таким образом, использование этого с $ {VAR: -...} дает мне то, что я ищу:
yum install docker${DOCKER_VERSION:+-}${DOCKER_VERSION}
так что если DOCKER_VERSION
установлен на "1.8.2" будет выглядеть так:
yum install docker-1.8.2
И если он не установлен, это будет выглядеть как
yum install docker