泊坞窗脚本构建一个TF图像分类,我在我运行下面的命令泊坞窗图像是bash shell:正确自动化基于<a href="https://www.youtube.com/watch?v=QfNvhPx5Px8" rel="nofollow noreferrer">this tutorial</a>在Python
docker run --name fooldocker -it -v $HOME/tf_files:/tf_files/ gcr.io/tensorflow/tensorflow:latest-devel
然后在这个码头工人形象我运行我的Python脚本:
python /tf_files/label_image.py /tf_files/myimages
exit
它的工作原理。
但现在,我需要在Python脚本中自动执行这些命令。我想:
p = Popen(['docker', 'run', '--rm', '--name', 'fooldocker','-it', '-v', '$HOME/tf_files:/tf_files/', 'gcr.io/tensorflow/tensorflow:latest-devel'], stdout=PIPE)
p = Popen(['docker', 'exec', 'fooldocker', 'python', '/tf_files/label_NES.py', '/tf_files/NES/WIP'])
p = Popen(['docker', 'kill', 'fooldocker'], shell=True, stdout=PIPE, stderr=PIPE)
p = Popen(['docker', 'rm', 'fooldocker'], shell=True, stdout=PIPE, stderr=PIPE)
导致这种错误POPEN#2运行后:
docker: Error response from daemon: create $HOME/tf_files: "$HOME/tf_files" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed.
Popen是子流程模块的一部分;) –
哦,是的,我忘了它也属于'subprocess'。 经常使用包装函数:| – CSJ