对Docker容器中的服务器执行curl命令时出错

vnzz0bqm  于 2022-11-30  发布在  Docker
关注(0)|答案(1)|浏览(525)

假设
我已经安装了torchserve,并在WSL 2 Docker容器中运行,该容器为Pytorch模型创建了一个API。

我想要实现的目标。

我希望在运行curl命令时收到一个模型列表。

curl http://127.0.0.1:8081/models

预期结果

{
  "models": [
    {
      "modelName": "densenet161",
      "modelUrl": "densenet161.mar"
    }
  ]
}

发生问题

将返回以下消息。

<HTML>
<HEAD><TITLE>Redirection</TITLE></HEAD>
<BODY><H1>Redirect</H1></BODY>

我所尝试的
已从Torchserve容器执行以下命令

curl 127.0.0.1:8081/models

我尝试使用Docker容器的IP地址(172.17.0.5),但它返回了一个错误。

curl 172.17.0.5:8081/models
curl: (52) Empty reply from server

当运行Docker容器时,我做了下面的端口转发。我从主机到主机IP地址运行curl命令,得到了相同的结果。

docker run -it --gpus all -v /home:/home -p 8080:8080 -p 8081:8081 -p 8082:8082 --shm-size 8GB ts_test
curl http://172.19.108.214:8081/models

使用-L选项时,返回错误,结果如下。

root@f0b48fd29ec1:~# curl -L http://127.0.0.1:8081/models
curl: (52) Empty reply from server

使用-v选项时,返回以下结果。

root@f0b48fd29ec1:~# curl -v http://127.0.0.1:8081/models
* Trying 10.77.8.70...
* TCP_NODELAY set
* Connected to proxy.mei.co.jp (10.77.8.70) port 8080 (#0)
> GET http://127.0.0.1:8081/models HTTP/1.1
> Host: 127.0.0.1:8081
> User-Agent: curl/7.58.0
> Accept: */*
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 301 Moved Permanently
< Server: BlueCoat-Security-Appliance
< Location:http://10.75.28.231
< Connection: Close
<
<HTML>
<HEAD><TITLE>Redirection</TITLE></HEAD>
<BODY><H1>Redirect</H1></BODY>
* Closing connection 0

curl命令不返回结果的可能原因有哪些?

kiz8lqtg

kiz8lqtg1#

下列命令产生了预期的结果。代理似乎影响了结果。

root@f0b48fd29ec1:~/torchserve-sample# curl http://127.0.0.1:8081/models --noproxy "*"
{
  "models": [
    {
      "modelName": "densenet161",
      "modelUrl": "densenet161.mar"
    }
  ]
}

相关问题