需要在python脚本中运行docker run命令

我的Docker命令是:

docker run --rm wappalyzer/cli https://wappalyzer.com 

当我运行我的Python脚本:

 #!/usr/bin/python from subprocess import call import json import os import docker docker run --rm wappalyzer/cli "MYURL" 

它说

 File "t.py", line 7 docker run --rm wappalyzer/cli "MYURL" ^ SyntaxError: invalid syntax 

我的操作系统是Ubuntu 14.04,我使用的是Ubuntuterminal。

这不是有效的Python代码。 如果你只是想运行一个容器并传递一个命令作为参数,你可以这样做:

 #!/usr/bin/env python import sys import docker image = "wappalyzer/cli" client = docker.from_env() client.containers.run(image, sys.argv[1], True) 

但是你应该阅读更多关于Python的知识,并且从Python运行stream程。 Python不是shell语言,你不能直接使用shell命令。

正如@AndyShinn所说,Python不是shell语言,但你可以调用docker,就好像你正在运行一个shell命令一样:

 #!/usr/bin/python from subprocess import call import json import os with open("/tmp/output.log", "a") as output: subprocess.call("docker run --rm wappalyzer/cli https://wappalyzer.com", shell=True, stdout=output, stderr=output) 

使用这种方法,您不需要导入泊坞窗。