用于使用远程API创建docker容器的Python脚本
我正在尝试使用Python脚本使用Docker远程API创建一个Docker容器来进行后期操作。这是我的Python脚本:-用于使用远程API创建docker容器的Python脚本,python,json,docker,Python,Json,Docker,我正在尝试使用Python脚本使用Docker远程API创建一个Docker容器来进行后期操作。这是我的Python脚本:- import requests import json url = "http://localhost:4243/containers/create" payload = {'Hostname':'','User':'','Memory':'0','MemorySwap':'0','AttachStdin':'false','AttachStdout':'t rue
import requests
import json
url = "http://localhost:4243/containers/create"
payload = {'Hostname':'','User':'','Memory':'0','MemorySwap':'0','AttachStdin':'false','AttachStdout':'t rue','AttachStderr':'true','PortSpecs':'null','Privileged': 'false','Tty':'false','OpenStdin':'false','StdinOnce':'false','Env':'null','Cmd':['date'],'Dns':'null','Image':'ubuntu','Volumes':{},'VolumesFrom':'','WorkingDir':''}
headers = {'content-type': 'application/json', 'Accept': 'text/plain'}
print requests.post(url, data = json.dumps(payload), headers=headers).text
但是当我运行脚本时,它显示了这个错误
json: cannot unmarshal string into Go value of type bool
我的剧本怎么了?我使用Python v2.7.5和Ubuntu 13.10的HTTP请求库。
我不熟悉docker和python脚本。如有任何帮助,我们将不胜感激。如评论中所述,您使用的类型不正确 具体而言:
- 布尔值必须是
或True
,而不是False
或“True”
“False”
、Dns
和Env
必须是PortSpecs
,而不是None
“null”
和Memory
必须是MemorySwap
而不是0
“0”
payload={
'AttachStderr': True,
'AttachStdin': False,
'AttachStdout': True,
'Cmd': ['date'],
'Dns': None,
'Env': None,
'Hostname': '',
'Image': 'ubuntu',
'Memory': 0,
'MemorySwap': 0,
'OpenStdin': False,
'PortSpecs': None,
'Privileged': False,
'StdinOnce': False,
'Tty': False,
'User': '',
'Volumes': {},
'VolumesFrom': '',
'WorkingDir': '',
}
但不知何故,如果解析器能够准确地分辨出哪个字段不能被解析,那就太好了:-)尝试使用
True
和False
来代替有效负载指令中的字符串“True”
和“False”
。我尝试了使用True和False。现在它显示了这个错误-json:无法将字符串解组为[]stringYes:)类型的Go值。我使用了正确的类型,现在它工作得很好。谢谢