Я только что попытался разрешить PATH в dockerfile, и он работал для одного сценария (хотя я использовал CMD), но не уверен, поможет ли это.Если это не помогло, дайте мне знать более подробно.
Существует две формы для указания команды (форма Exec и форма оболочки) и два способа указать команду по умолчанию (ENTRYPOINT и CMD) в файле Docker.
Форма исполнения:
FROM ubuntu
MAINTAINER xyz<xyz.gmail.com>
ENTRYPOINT ["ping"]
Указанная команда (ping) будет запускаться как PID 1. Именно поэтому мы нажимаем CTRL + C (SIGTERM)передается процессу PID1, а контейнер отключается.
Форма оболочки:
FROM ubuntu
MAINTAINER xyz<xyz.gmail.com>
CMD echo $PATH
При выполнении PATH преобразован в среду оболочки PATH (выход проверен).
форма оболочки определяет токены команд, разделенные пробелами.форма оболочки выполняет команду, вызывая / bin / sh -c (это означает, что PID 1 на самом деле является оболочкой, а команда, указанная в файле Docker, является просто другим процессом) (нажатие CTRL + C не приведет к уничтожению контейнера)
Преимуществоиспользования формы оболочки, так как вы выполняете с / bin / sh -c, мы можем разрешить переменные окружения в команде (в приведенном выше примере мы используем PATH).
Надеюсь, это поможет
С уважением, Судхакар