正在使用 Docker 试用销售或应用程序。弹性搜索连接问题

Trying up saleor application by using Docker. Trouble with elasticsearch connection

正在使用 Docker 试用应用程序。当我运行

docker-compose run web python3 manage.py populatedb --createsuperuser

我收到:

elasticsearch.exceptions.ConnectionError: ConnectionError(: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(: Failed to establish a new connection: [Errno 111] Connection refused)

如果您使用 github 的销售人员或 docker-compose.yml,那是因为 elasticsearch 容器不会以此配置启动,这是因为:

mem_limit: 512m

删除 mem_limit 解决了我的问题。你可以尝试的是:

  • 将此限制设置为 更高级别
  • 降低Xms / XmxJAVA_OPTS喜欢:

    ES_JAVA_OPTS=-Xms256m -Xmx256m -Dlog4j2.disable.jmx=true 
    

更新:

也尝试升级到 elasticsearch:6.5.2。参见 https://github.com/avoinea/docker.deploy.saleor

解决方案是在此处增加 mmap 的数量 memory.Found: https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html