python3 subprocess.run () get Системе не удается найти файл, указанный в контейнере Docker Windows - PullRequest
0 голосов
/ 05 декабря 2018

При запуске

subprocess.run(args=['ls /'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

в контейнере докера окна возникает ошибка, которая говорит:

[WinError 2] Системе не удается найтиуказанный файл

Но на моем хост-компьютере с Windows этого не происходит.

версия python: 3.6.6 образ докера Windows: winservercore: 1803

Любые подсказки или предложения

1 Ответ

0 голосов
/ 05 декабря 2018

Когда вы говорите

args=['ls /']

Вы пытаетесь запустить одну команду с именем ls /;в контексте Windows, где обычно имеются расширения файлов, он может называться ls /.exe.Вы, вероятно, имеете в виду, что это два отдельных слова, которые нужно отдельно включить в список аргументов

args=['ls', '/']

Do not указать shell=True.Это опасный вариант, который делает ваш сценарий потенциальным вектором проблем безопасности.

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