当前位置: 首页 > 知识库问答 >
问题:

为什么不能从浏览器访问docker elasticsearch的修改副本?

赵开诚
2023-03-14

我正在尝试根据Docker的官方Elasticsearch图像运行自定义图像。然而,当我试图通过localhost:9200访问它时,它不起作用。

我创建了一个自定义elasticsearch。主机设置为127.0.0.1(localhost)的yml文件,然后构建elasticsearch自定义映像并运行它。可以在下面的链接中找到步骤。https://www.elastic.co/guide/en/elasticsearch/reference/6.4/docker.html

当我试图通过localhost:9200上的浏览器访问elasticsearch时,它无法连接。我该怎么修理?

用于elasticsearch自定义的Dockerfile代码

FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.3
COPY --chown=elasticsearch:elasticsearch elasticsearch.yml /usr/share/elasticsearch/config/

构建定制docker

docker build --tag=elasticsearch-custom .

方法来运行elasticsearch自定义

docker run -d -ti -v /usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch-custom

当我在浏览器中键入localhost:9200时,我希望它能从elasticsearch返回数据。

但是浏览器说它无法连接。

共有1个答案

柏麒
2023-03-14

您需要将以下参数添加到Docker run命令中,这样您的容器和主机操作系统将共享同一个网络接口。然后,您应该能够使用localhost:9200访问Docker容器

主机代码

最后的run命令应该是这样的;

docker run-d-ti-v /usr/share/elasticsearch/data--network=host-p 9200:9200-p 9300:9300-e"discovery.type=单节点"elasticsearch-自定义

 类似资料:
  • 我正在尝试使用HttpClient从我的代码访问网站: 这是我得到的错误: 我从浏览器检查了证书,它似乎是正确的,具有正确的名称。不确定它从哪里拾取。 如果我使用代理,代码确实有效。在StackOverflow上遇到了很多类似的问题,但在大多数情况下,服务器处于用户的控制之下。就我而言,这是一个已经存在的网站。我只有这个网站才有这个问题。 会不会是我的环境有问题? 更新: 我发现两个网站(和)都有

  • gRPC基于HTTP/2,浏览器广泛支持HTTP/2(假设)。因此,我觉得从浏览器使用gRPC应该没有问题。 然而,很明显有一个问题。协议grpc web是不同的,因为“由于浏览器限制”而存在。还有许多博客文章描述了为让gRPC从浏览器工作而部署的复杂技术堆栈。 我忽略了实际的问题——为什么gRPC不只是在浏览器上工作?

  • 我知道这个问题以前已经讨论过,但我觉得我的问题有点不同。 我正在试图弄清楚如何使我能够通过自我管理的AWS弹性搜索访问吉巴纳,我有在我的AWS帐户。 可能是我要说的是不准确的或者完全是一派胡言。我对整个AWS VPC wise部分和麋鹿卡死相当新手。 体系结构:这里是“体系结构”: 我有一个VPC。 在VPC内I有几个子网。 每个服务器使用在服务器本身上运行的日志存储将其数据发送到弹性搜索。为了简

  • 是否可以从Linux终端访问开发者工具(Chrome/Firefox)控制台以进行脚本编写? 我试图从我的浏览器访问AngularJS应用程序的变量,这样我就可以快速浏览文件。例如,我可以要求,及其相关的,等;一旦我找到结果,我会在编辑器中打开该文件。 我正在探索的其他选择是使用某种无头浏览器。另外还有一个开发工具协议,它被木偶师等工具用来编程访问Chrome开发工具。 一个简单的节点REPL就足

  • 我正在研究SAML和SSO,看起来使用SAML的应用程序需要是一个web应用程序,并且依赖于浏览器。 有人能告诉我为什么吗? 我对SAML的有限知识告诉我,SAML依赖于会话和cookie,这在桌面应用程序或移动应用程序中是不可用的。这是唯一的原因吗?你能告诉我更多的细节吗?

  • 我想尝试在cloud9上进行实际操作。但是,我无法访问PC浏览器上的服务器。 详细: 我已经使用默认设置运行了AWS Cloud9环境。接下来运行这些命令。 然后它说。 我相信这是很正常的反应方式。 问题是,如何使用我的PC浏览器访问此正在运行的服务器?如果我在Mac电脑上开发,只需访问就很容易了http://localhost:8080这就是全部。如何在cloud9环境中实现这一点? 我试过:-