Я озадачен интересным вопросом: я пытаюсь выполнить команду, которая копирует локальный файл в контейнер Postgres Docker. Код:
command = "docker cp /tmp/app/dump.sql postgres-app:/tmp/postgres/backup/"
process = subprocess.Popen(
shlex.split(command), stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
stdout, stderr = process.communicate()
Как ни странно, stderr
возвращает:
lstat /private/tmp/app/dump.sql: no such file or directory
Я выполняю эти команды из этого каталога на моем Ma c:
/Users/my-name/path/to/project
Основываясь на моем исследовании, каталог /private
, на который ссылается ошибка , является функцией файловой системы Ma c . Кажется, что некорректная ссылка на каталог (с добавлением /private
) передается подпроцессу Python, и я не уверен, как я могу это исправить.
Спасибо за любую помощь ... Я тестирую эту функциональность локально, но этот файл в конечном итоге будет развернут в ванильной среде Linux, где каталог /private
не будет проблемой. Это просто очень своеобразный вопрос. :-)