Интерфейс командной строки Pulumi недоступен после его установки в образ docker

#linux #docker #pulumi

Вопрос:

Я создаю веб-приложение, которое использует SDK автоматизации Pulumi. Приложение должно быть развернуто в контейнере docker linux, поэтому я добавил в файл Dockerfile следующие строки:

 RUN curl -fsSL https://get.pulumi.com | sh
ENV PATH="/root/.pulumi/bin:${PATH}"
 

Однако, похоже, что интерфейс командной строки Pulumi недоступен в bash после создания изображения. Я подтвердил, что исполняемые файлы Pulumi действительно были установлены в /root/.pulumi/bin

Я подозреваю, что причина в том, что pulumi установлен в корневую папку/, а не в~/, но я не уверен, как это исправить.

Спасибо

Комментарии:

1. Если двоичные файлы есть, то, похоже, ваш контейнер не видит вашего изменения ПУТИ. Что произойдет, если вы запустите его прямо из этой папки (так что перейдите в эту папку и запустите ее)?

2. @PiersKarsenbarg печать пути с echo $PATH помощью показывает, что путь действительно включает соответствующую папку (/root/.pulumi/bin). Кроме того, если я выполню команду sudo /root/.pulumi/bin/pulumi , то cli Pulumi будет вызван правильно.

3. Какую ошибку вы получаете? Может быть, это вопрос разрешений. Какой пользователь запускает Pulumi? Имеют ли /root и /root/.local разрешение rx?