#python #linux #docker
#python #linux #docker
Вопрос:
Я изучаю Docker, и у меня есть запрос. Я пытаюсь извлечь все переменные среды, которые в настоящее время присутствуют внутри контейнера Docker, с помощью скрипта python и сохранить выходные данные в один файл, и этот файл python периодически запускается с использованием cronjob. Теперь проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить все переменные среды через свой скрипт. предположим, в контейнере, если я экспортирую какую-то переменную среды, то мой скрипт должен поместить эту запись в файл, но я не могу? Мой код на python
import subprocess
def set_env():
subprocess.getoutput('printenv > /home/enviornment_variable.txt')
set_env()
и этот файл периодически запускается с помощью cronjob. Но не удалось получить все переменные среды.
Комментарии:
1. Переменные среды находятся в
os.environ
объекте; для этого вам не нужно запускать подпроцесс. Тем не менее, кажется, что этот скрипт должен работать; с какой проблемой вы столкнулись?2. @DavidMaze согласен с вашей точкой зрения os.environ предоставляет переменную среды, но я пытаюсь запустить этот файл python с помощью cronjob, и, насколько мне известно (может быть, неправильно), cron создает свою собственную оболочку, поэтому всякий раз, когда я экспортирую переменную среды внутри контейнера, используя этот файл python, который я не могу захватить. Итак, я хочу знать, что я могу сделать? Итак, периодически я могу получить те переменные среды, которые я экспортирую