无法访问docker容器Socket挂起错误

aru*_*836 10 python ubuntu get docker postman

我已经成功构建并启动了 docker 容器,它运行完美,但是当我尝试访问它时 [ End point url 0.0.0.0:6001] 我收到“套接字挂起”错误

GET http://0.0.0.0:6001/
Error: socket hang up

Request Headers
  User-Agent: PostmanRuntime/7.26.8
  Accept: */*
  Postman-Token: <token>
  Host: 0.0.0.0:6001
  Accept-Encoding: gzip, deflate, br
  Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

早些时候它工作正常,但是当我删除容器和图像并重建它时,我开始收到此错误

我正在用来Postman发出GET请求,我也尝试过网络浏览器

谁能告诉我出了什么问题

- 更新 -

Docker 文件

创建容器

# Create Virtual Network
$ sudo docker network create network1 
# Using custom network as there are multiple containers 
# which communicate with each other

# Create Containers
$ sudo docker build -t form_ocr:latest .
$ sudo docker run -d -p 6001:5000 --net network1 --name form_ocr form_ocr
Run Code Online (Sandbox Code Playgroud)

netstat命令输出

$ netstat -nltp 
...
tcp6       0      0 :::6001                 :::*                    LISTEN      -  
Run Code Online (Sandbox Code Playgroud)

docker container inspect输出

$ sudo docker container inspect <container-id>
Run Code Online (Sandbox Code Playgroud)

输出

docker ps输出

$ sudo docker ps
CONTAINER ID        IMAGE        COMMAND             CREATED        STATUS           PORTS                    NAMES
835e8cb11eee        form_ocr     "python3 app.py"    16 hours ago   Up 40 seconds    0.0.0.0:6001->5000/tcp   form_ocr
Run Code Online (Sandbox Code Playgroud)

Dho*_*eb 14

我对 fastapi 容器也有同样的问题

确保您的应用程序正在容器内侦听 0.0.0.0


小智 5

只需将其添加到 main.ts 中,您可以在其中监听端口:

await app.listen(6001, '0.0.0.0', () => console.log(`Listening on port: 6000`));
Run Code Online (Sandbox Code Playgroud)

添加 '0.0.0.0' ,它应该可以工作。


PDH*_*ide 0

尝试 localhost:6001 而不是互联网地址

您还可以尝试任何系统本地 IP 地址,如果您分别在 Linux 或 Windows 中,则可以通过键入 ifconfig 或 ipconfig 来查找 IP 地址