Как получить все переменные среды внутри контейнера docker с помощью python script и cronjob?

#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, который я не могу захватить. Итак, я хочу знать, что я могу сделать? Итак, периодически я могу получить те переменные среды, которые я экспортирую