如何将docker volume挂载作为python子进程运行?

问题描述 投票:0回答:1

我正在尝试运行docker容器,特别是在这里找到openalpr

https://hub.docker.com/r/openalpr/openalpr/

docker run -it --rm -v $(pwd):/data:ro openalpr -c us plateTest1.jpg

当尝试将此命令作为子进程运行时,我在python中遇到错误:

导入子过程

app.py

result = subprocess.run(['docker', 'run', '-it', '--rm', '-v pwd:/data:ro', 'openalpr', '-c us', 'plateTest1.jpg'], capture_output=True)
print(result.stdout)
print(result.stderr)

这是我得到的错误:

(base) mac@macs-MBP lpr % python openalpr_test.py
b''
b'docker: Error response from daemon: invalid volume specification: \' pwd:data:ro\': invalid mount config for type "volume": invalid mount path: \'data\' mount path must be absolute.\nSee \'docker run --help\'.\n'

我假设这与转义斜线有关?

python docker subprocess docker-volume
1个回答
0
投票

不完全是我的布局方式,但这似乎可行:

from subprocess import Popen
import subprocess

command='''
docker run -it --rm -v $(pwd):/data:ro openalpr -c us plateTest1.jpg
'''
process=Popen(command,shell=True,stdout=subprocess.PIPE)
result=process.communicate()
print(result)
© www.soinside.com 2019 - 2024. All rights reserved.