Я написал образ, который объединяет утилиты для запуска команд с использованием нескольких CLI. Я хочу запустить его как исполняемый файл следующим образом:
docker run my_image cli command
Где CLI - это мой пользовательский CLI, а команда - это команда для этого CLI.
При сборкемой образ У меня есть следующая инструкция в Dockerfile:
ENV PATH="/cli/scripts:${PATH}"
Вышеприведенное сработает, если я не чередую команды с контейнером. Если я объединяю команды в цепочку, они перестают работать:
docker run my_image cli command && cli anothercommand
Command 'cli' not found, but can be installed with...
Там, где первая команда работает, а другая не работает.
Таким образом, логический вывод заключается в том, что cli
отсутствует в пути. Я попытался проверить это с помощью:
docker run my_image printenv PATH
Это на самом деле выводит PATH контейнеров, и все выглядит хорошо. Поэтому я попытался также связать эту команду:
docker run my_image printenv PATH && printenv PATH
И, конечно же, это выводит сначала PATH для контейнеров, а затем PATH моей системы.
В чем причина этого? Как мне обойти это?