docker - docker上magento2的Elasticsearch设置给出 “no alive nodes”错误

标签 docker elasticsearch magento magento2

我是docker和magento的新手,我正在尝试在docker上安装Magento2。
我收到错误消息:“无法连接ElasticSearch服务器:您的集群中找不到 Activity 的节点”
enter image description here
我尝试了谷歌搜索错误中的文本的几种解决方案。
在我的“docker-compose.yml”中,我尝试使用--elasticsearch-host ='127.0.0.1'--elasticsearch-port = '81'而不是--elasticsearch-host ='es01'
这是我的docker-compose.yml

version: '3'
services:
    web:
        image: webdevops/php-apache-dev:7.4
        container_name: web
        restart: always
        user: application
        environment:
          - WEB_ALIAS_DOMAIN=local.xxx.dk
          - WEB_DOCUMENT_ROOT=/app/pub
          - PHP_DATE_TIMEZONE=EST
          - PHP_DISPLAY_ERRORS=1
          - PHP_MEMORY_LIMIT=2048M
          - PHP_MAX_EXECUTION_TIME=300
          - PHP_POST_MAX_SIZE=500M
          - PHP_UPLOAD_MAX_FILESIZE=1024M
        volumes:
          - /Users/jonasborneland/Documents/magento:/app:cached
        ports:
          - "80:80"
          - "443:443"
          - "32823:22"
        links:
          - mysql
    mysql:
        image: mariadb:10.4
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - MYSQL_DATABASE=magento
        volumes:
          - db-data:/var/lib/mysql
    phpmyadmin:
        container_name: phpmyadmin
        restart: always
        image: phpmyadmin/phpmyadmin:latest
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - PMA_USER=root
          - PMA_PASSWORD=root
        ports:
          - "8080:80"
        links:
          - mysql:db
        depends_on:
          - mysql
    es01:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
        container_name: es01
        environment:
          - node.name=es01
          - cluster.name=es-docker-cluster
          - cluster.initial_master_nodes=es01
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - data01:/usr/share/elasticsearch/data
        ports:
          - 9200:9200
        networks:
          - elastic
volumes:
    db-data:
        external: false
    data01:
        driver: local
networks:
    elastic:
        driver: bridge

这是我在网络容器内用于设置magento的文件,这会导致错误:

php bin/magento setup:install \
--admin-firstname=JJ \
--admin-lastname=xxx \
--admin-email=xxx@xxx.com \
--admin-user=admin \
--admin-password='xxx!' \
--base-url=https://local.xxx.dk \
--base-url-secure=https://local.xxx.dk \
--backend-frontname=admin \
--db-host=mysql \
--db-name=magento \
--db-user=root \
--db-password=root \
--use-rewrites=1 \
--language=da_DK \
--currency=DKK \
--timezone=Europe/Copenhagen \
--use-secure-admin=1 \
--admin-use-security-key=1 \
--session-save=files \
--use-sample-data \
--elasticsearch-host=127.0.0.1 \
--elasticsearch-port=9200 \
--elasticsearch-username=admin \
--elasticsearch-password=xxx

最佳答案

我会补充

web:
    ....
    network:
     - eslastic
es01:
    ....
    environment:
      - "discovery.type=single-node"

喜欢这个:https://github.com/markshust/docker-magento/blob/master/compose/docker-compose.yml
至于setup:install,请执行以下操作:
    ....
    --elasticsearch-host=es01
    --xxxx

关于docker - docker上magento2的Elasticsearch设置给出 “no alive nodes”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63761451/

相关文章:

docker - 从 docker 容器名称中删除随机字符串

php - XSym 符号链接(symbolic link)不能在 Docker for Windows 上的 PHP 中使用

lucene - Elasticsearch 总是返回 "mapping type is missing"

php - Magento 无法使用正确的用户名和密码登录管理员

c++ - 使用 Docker 构建已编译的应用程序

node.js - 如何创建作业以将Elasticsearch索引中的所有文档作为数据流处理?

groovy - 在Elasticsearch查询中使用groovy脚本* file *-groovy脚本文件位置

linux - Magento 补丁文件 (diff) 找不到指定的文件

php - 从州缩写获取region_id - Magento 1.4.2

docker-compose pull 导致 x509 : certificate signed by unknown authority