我将尝试下载指定的Docker镜像,用户将输入一个版本号。但是,如果该版本不存在,Docker会报错。
我正在使用
示例代码:
如果版本未找到,Docker将在终端输出:
我正在使用
subprocess.call
从Python 3中的终端进行管道传输。示例代码:
from subprocess import call
containerName = input("Enter Docker container name: ")
swVersion = input("Enter software version: ")
call(["docker", "run", "--name", "{}".format(containerName),
"--detach", "--publish", "8080:8080", "user/software:{}".format(swVersion)])
如果版本未找到,Docker将在终端输出:
docker: Error response from daemon: manifest for user/software:8712378 not found.
如何在Python脚本中捕获此错误?
可以采用以下方法:
try:
call(["docker", "run", "--name", "{}".format(containerName), "--detach", "--publish", "8080:8080", "user/software:{}".format(swVersion)])
except:
# How do I catch the piped response code here?`
check_call
而不是call
;如果你想获取写入到stderr
的字符串,则应该以另一种方式实现。 - Eric Renoufstderr
的字符串? - Eric Renouf