Docker работает внутри контейнера - PullRequest
0 голосов
/ 15 марта 2019

У меня есть код метода Python, использующий Docker, и я пытаюсь понять это.Метод здесь,

def exec(self, container_target, command, additional_options=""):
    """ execte docker exec commmand and return the stdout or None when error"""
    cmd = """docker exec -i "%s" sh -c '%s' %s""" % (
        container_target, command, additional_options)
    if self.verbose:
        print(cmd)
    try:
        cp = subprocess.run(cmd,
                            shell=True,
                            check=True,
                            stdout=subprocess.PIPE)
        return cp.stdout.decode("utf-8").strip()
    except Exception as e:
        print(f"Docker exec failed command {e}")
        return None

Я получаю скриншот во время отладки,

enter image description here

Значение cmd

'docker exec -i "craft_p2-2" sh -c \' cd craft && composer show - только для имени |grep nerds-and-company / схема |wc -l \ ''

Насколько я понимаю, код использует оболочку контейнера с именем craft_p2-2 и входит в папку с именем craft.Затем он проверяет, установлен ли плагин Schematic.Это верно?

Это может быть очевидным для некоторых, но я не обладаю богатым контейнерным знанием и должен быть уверен в том, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...