Установите переменную среды внутри контейнера 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
команда.