将多个 PHP 容器连接到单个共享 Elasticsearch 容器

将多个 PHP 容器连接到单个共享 Elasticsearch 容器

一台服务器上运行着14 个 PHP 容器php_1, ..., php_14和 14 个 NGINX 容器nginx_1, ..., nginx_14。PHP 容器php_i仅连接到nginx_i,所有 NGINX 容器都通过共享的外部网络连接。因此php_i可以看到nginx_i ,也nginx_i可以看到每一个nginx_j

系统添加了一个新需求,我们需要为所有项目提供一个全局的 Elasticsearch,允许所有 PHP 项目在这个单个 Elasticsearch 实例上写入,该实例将通过 Docker 安装。

为了完成这项任务,我想到以下方法,但我不确定哪一种是最好的方法。

  1. 安装一个独立的 Elasticsearch 实例并9200:9200在主机上发布其端口(例如),然后在 PHP 配置中设置主机的 IP(例如)172.17.0.1和端口 9200
  2. 我可以创建一个专用的外部网络用于将 PHP 连接到 Elasticsearch,并将该专用网络包含在networksdocker-compose 文件的指令中。

我想知道哪种方法是最佳实践。

相关内容