Переменная python не передается?

Привет, поэтому я пытаюсь написать скрипт, который по своей сути перечислит запущенные процессы в контейнере Docker с использованием API docker_py. У меня есть следующее:

#!/usr/bin/python

import docker
import sys
import argparse

parser = argparse.Argument.Parser(description='docker process checker')
parser.add_argument('-n', help='Name of container', required=True)
parser.add_argument('-p', help='Name of process', required=True)
args = parser.parse_args()

url = 'unix://var/run/docker.sock'
version = '1.15'
timeout = 10
container_name = str(args.n)
proc_name = str(args.p)

cli = docker.Client(url, version, timeout)
exec_instance = cli.exec_create(container=container_name, cmd="pgrep -a -f 'proc_name'")
result = cli.exec_start(exec_id=exec_instance['Id'])

print(result)

Так что сейчас я ничего не получаю, когда "печатаю (результат)". Если я переключу 'proc_name' внутри pgrep, с фактическим именем процесса (скажем, jenkins или mysql), он выведет список запущенных процессов в этом контейнере. Я пробовал несколько подходов, но ни один из них не дает мне того, что мне нужно, кроме жесткого кодирования имени процесса. Любые идеи относительно того, как заставить это фактически передать переменную в pgrep, чтобы она действительно читала это?

0 ответов

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