Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用Docker远程API运行exec start时出现错误500_Python 2.7_Rest_Docker_Python Requests - Fatal编程技术网

Python 2.7 使用Docker远程API运行exec start时出现错误500

Python 2.7 使用Docker远程API运行exec start时出现错误500,python-2.7,rest,docker,python-requests,Python 2.7,Rest,Docker,Python Requests,我正在使用和python请求v2.2.1来运行exec语句。这是我正在使用的代码: import requests import json containerName = 'my_container_name' startContainerRequest = requests.post('http://127.0.0.1:4243/containers/' + containerName + '/start') print startContainerRequest.status_code

我正在使用和python请求v2.2.1来运行exec语句。这是我正在使用的代码:

import requests
import json

containerName = 'my_container_name'
startContainerRequest = requests.post('http://127.0.0.1:4243/containers/' + containerName + '/start')

print startContainerRequest.status_code    #result: 204

payload = {'Cmd':["date"]}
headers = {'Content-type': 'application/json'}
execCreateRequest = requests.post('http://127.0.0.1:4243/containers/' + containerName + '/exec', data=json.dumps(payload), headers=headers)

print execCreateRequest.status_code     #result: 201

execStartRequest = requests.post('http://127.0.0.1:4243/exec/' + execCreateRequest.json()['Id'] + '/start', headers=headers)

print execStartRequest.status_code      #result: 500
print execStartRequest.text             #EOF
最后一个REST请求失败。使用相同的id工作,因此id不是问题所在。在有效负载中使用与date不同的命令也会失败。我尝试了不同的容器,但得到了相同的结果。 从码头工厂运行
docker exec my_container_name date

以下是我从/etc/default/DOCKER选择的DOCKER\u选项:

DOCKER_OPTS="--dns *privateDNS* --dns 8.8.8.8 -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock"
将JSON正文添加到

将JSON正文添加到


将JSON主体添加到
/start
中是否有帮助?是的,这就成功了。它应该是这样工作的,还是RESTAPI中的一个bug?请随意将您的评论转换为答案,我会接受并投票。不确定,可能会在github上创建一个问题进行检查。一些JSON API至少需要
{}
才能解析为JSON。将JSON主体添加到
/start
中是否有帮助?是的,成功了。它应该是这样工作的,还是RESTAPI中的一个bug?请随意将您的评论转换为答案,我会接受并投票。不确定,可能会在github上创建一个问题进行检查。一些JSON API至少需要
{}
,因此它可以解析为JSON。
POST /exec/e90e34656806/start HTTP/1.1
Content-Type: application/json

{
 "Detach": false,
 "Tty": false
}