docker安装elasticsearch,无法访问curl: (56) Recv failure: Connection reset by peer

docker安装es后无法访问

[root@localhost ~]# curl http://localhost:9200
curl: (56) Recv failure: Connection reset by peer

有人说是因为容器内监听的是本机地址127.0.0.1

[root@0adf1765ac08 elasticsearch]# netstat -tunpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:9200          0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:9300          0.0.0.0:*               LISTEN      -

修改监听地址,/usr/share/elasticsearch/config/elasticsearch.yml,地址改为0.0.0.0

[root@0adf1765ac08 elasticsearch]# netstat -tunpl
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:9200            0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:9300            0.0.0.0:*               LISTEN      -

在宿主机访问可以了

[root@localhost ~]# curl http://localhost:9200
{
  "name" : "0adf1765ac08",
  "cluster_name" : "my-es",
  "cluster_uuid" : "MpKqrEKySnSdwux0m7AlEA",
  "version" : {
    "number" : "7.7.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ad56dce891c901a492bb1ee393f12dfff473a423",
    "build_date" : "2020-05-28T16:30:01.040088Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当你在 Docker 中启动 Nginx 并尝试使用 curl 命令访问 127.0.0.1 时,可能会出现 "curl: (56) Recv failure: Connection reset by peer" 的错误。这个错误通常表示在客户端和服务器之间的连接被对等方(peer)重置。 有几种可能的原因导致这个问题。首先,你需要确保 Nginx 服务已经正常启动并监听了正确的端口。你可以使用命令 "docker ps" 来查看正在运行的容器和它们所映射的端口。如果端口映射没有配置正确,那么在通过 curl 访问时就会出现连接重置的问题。 另一个可能的原因是你在 Docker 容器内部访问本地主机的 IP 地址。在 Docker 中,容器内部的网络是隔离的,它们具有自己的 IP 地址空间。因此,当你在容器内尝试访问本地主机的 IP 地址时,容器会认为这是一个外部连接,并尝试通过网络连接到该地址。然而,由于容器没有直接访问主机的网络权限,所以会导致连接重置的问题。 为了解决这个问题,你可以尝试使用容器的 IP 地址或容器名称来代替本地主机的 IP 地址。你可以使用命令 "docker inspect <container_id>" 来获取容器的 IP 地址,然后使用该地址进行 curl 请求。另外,你也可以尝试在容器内部使用主机网络模式来解决该问题。 综上所述,当你在 Docker 容器中启动 Nginx 并尝试使用 curl 访问 127.0.0.1 时,出现 "curl: (56) Recv failure: Connection reset by peer" 错误可能是由于端口映射配置不正确或在容器内部访问本地主机 IP 地址导致的。你可以检查端口映射是否正确配置,并尝试使用容器的 IP 地址或容器名称进行 curl 请求来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【docker启动nginx无法访问curl: (56) Recv failure: Connection reset by peer](https://blog.csdn.net/qq_43680114/article/details/131800351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [curl: (56) Recv failure : Connection reset by peer](https://blog.csdn.net/Dontla/article/details/131798085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值