【云原生】Docker报错:curl: (56) Recv failure: Connection reset by peer解决

编程入门 行业动态 更新时间:2024-10-23 23:24:03

前言

使用docker-compose up启动服务后访问报错curl: (56) Recv failure: Connection reset by peer

 curl -v 127.0.0.1:8000
[root@iZhp33j6fklnmhbf0lz2obZ admin]# curl -v 127.0.0.1:8000
* Rebuilt URL to: 127.0.0.1:8000/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 8000 (#0)
> GET / HTTP/1.1
> Host: 127.0.0.1:8000
> User-Agent: curl/7.61.1
> Accept: */*
> 
* Recv failure: Connection reset by peer
* Closing connection 0
curl: (56) Recv failure: Connection reset by peer

外部访问telnet接口能通。

排查

1.查看容器服务

[root@iZhp33j6fklnmhbf0lz2obZ admin]# docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED         STATUS         PORTS                                       NAMES
f4571922817f   admin_web               "python app.py"          3 minutes ago   Up 3 minutes   0.0.0.0:8000->3000/tcp, :::8000->3000/tcp   admin_web_1

2.进入容器内部查看端口状态

进入容器内部查看端口是否正常一致。

 docker exec -it admin_web_1 /bin/sh
 netstat -ntlp
[root@iZhp33j6fklnmhbf0lz2obZ admin]# docker exec -it admin_web_1 /bin/sh
/usr/local/bin # netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      1/python
tcp        0      0 127.0.0.11:41025        0.0.0.0:*               LISTEN      -

从容器内部发现端口3000并不存在,只有5000端口(flask默认端口),证明端口没对应上。

解决

修改docker-compose.yml文件端口保证一致。

version: '3'
services:
  web:
    build: .
    ports:
      - "8000:5000"
    volumes:
      - .:/code
  redis:
    image: "redis:alpine"

python文件:

from flask import Flask

app = Flask(__name__)

@app.route("/") 
def index():
    return 'Hello World! '

if __name__ == "__main__":
	# 设置运行信息
    app.run(host="0.0.0.0",  debug=True)

小拓展

常用中间件默认端口

MySQL默认端口 3306

Redis默认端口 6379

MongoDB默认端口 27017

django端口 8000

flask端口 5000

pyspider服务端口 5000(由flask开发)

gerapy服务端口 8000(由django开发)

scrapyd服务端口 6800

ipython notebook 默认端口 8888

HTTP默认端口 80

HTTPS服务默认端口443


点赞 收藏 关注

更多推荐

【云原生】Docker报错:curl: (56) Recv failure: Connection reset by peer解决

本文发布于:2023-06-14 01:50:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1424209.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:报错   curl   Docker   Recv   reset

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!