需要在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)
使用这种方法,您不需要导入泊坞窗。