Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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
Docker端口暴露问题,Recv故障:对等方重置连接_Docker_Go_Networking - Fatal编程技术网

Docker端口暴露问题,Recv故障:对等方重置连接

Docker端口暴露问题,Recv故障:对等方重置连接,docker,go,networking,Docker,Go,Networking,我正在尝试在docker容器中运行Go应用程序二进制文件。应用程序有一些gRPC请求正在侦听,服务器已打开: http.ListenAndServe("localhost:8081", nil) 在我的docker-compose.yaml中。我有一个映射到8081的应用程序服务: golangAPP: build: context: . dockerfile: ./docker/golangAPP/Dockerfile depe

我正在尝试在docker容器中运行Go应用程序二进制文件。应用程序有一些gRPC请求正在侦听,服务器已打开:

http.ListenAndServe("localhost:8081", nil)
在我的docker-compose.yaml中。我有一个映射到8081的应用程序服务:

  golangAPP:
    build:
      context: .
      dockerfile: ./docker/golangAPP/Dockerfile
    depends_on:
      - setup
    ports:
      - 8081:8081
docker compose up
之后,我可以看到应用程序正在提供的详细信息

但我还是够不着<代码>curl-X选项http://localhost:8081返回

curl: (56) Recv failure: Connection reset by peer
如果我在没有docker的情况下本地运行二进制文件,那么我可以向应用程序发送请求

有什么建议吗?我在谷歌上搜索了一下,并指出了防火墙的问题。但我不知道如何进行。

如果您这样做:

http.ListenAndServe("localhost:8081", nil)
这将侦听来自环回接口的连接。当在容器内运行时,这将只接受来自该容器内的连接(或者如果您在k8s吊舱内运行,则在同一吊舱内)。因此:


这将同时接受环回和外部连接(容器外部)。

使用以下命令:
http.ListenAndServe(“:8081”,nil)
@BurakSerdar就是这样。非常感谢。请提交你的答案。如果你能解释一下原因,我将不胜感激。
http.ListenAndServe(":8081", nil)