gpt4 book ai didi

python-2.7 - 使用Docker Remote API运行exec时出现错误500

转载 作者:行者123 更新时间:2023-12-02 21:26:09 25 4
gpt4 key购买 nike

我正在使用Docker Remote Api和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请求失败。 Exec inspect使用相同的ID,因此ID并不是问题。在有效负载中使用与日期不同的命令也会失败。我尝试使用其他容器,但结果相同。
从终端运行 docker exec my_container_name date可以正常工作。

这是我在/ etc / default / docker中的DOCKER_OPTS:
DOCKER_OPTS="--dns *privateDNS* --dns 8.8.8.8 -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock"

最佳答案

将JSON正文添加到Exec start POST request

POST /exec/e90e34656806/start HTTP/1.1
Content-Type: application/json

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

关于python-2.7 - 使用Docker Remote API运行exec时出现错误500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37818026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com