我正在尝试运行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'
我假设这与转义斜线有关?
不完全是我的布局方式,但这似乎可行:
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)