Установите переменную среды внутри контейнера podman с помощью сценария оболочки

Подпишите контейнер podman с AlmaLinux на борту.

Мне нужно настроить набор переменных среды после запуска контейнера. Итак, я положил в контейнер скриптsetenv.shс содержимым:

      #!/bin/sh
export MYVAR=value
echo $MYVAR

Теперь я запускаю контейнер:

      $ podman run --rm -it -init almatest bash
% /opt/myapp/bin/setenv.sh
value
% echo $MYVAR

% env | grep MYVAR
%

Где моя переменная? Что происходит?

Изменить: выполнение скрипта с помощью.илиsourceпредотвращает исчезновение переменных среды. Хорошо, я думаю, это отвечает на мой первоначальный вопрос.

я знаю о-envдля podman, но не может его использовать - контейнер является тестовой средой для производства, в котором не будет podman. Мне нужно сделать все настройки изнутри контейнера.

1 ответ

Я знаю, где я ошибся.

Это скрипт, который должен запускаться первым. И я думал об этом, как будто это , так чтоexportв должно работать как в.bashrc. И это было источником моей ошибки.

Предполагаемая роль сценария не является реальной.

Итак, вызовsetup.shдолжно быть сделаноsourceкоманда.

Другие вопросы по тегам