首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >想要在docker中使用Laravel应用程序运行elasticsearch,但它不起作用

问想要在docker中使用Laravel应用程序运行elasticsearch,但它不起作用
EN

Stack Overflow用户
提问于 2020-12-28 06:02:58
回答 1查看 814关注 0票数 2

我有一个生活在码头的laravel应用程序,我想把elasticsearch集成到我的应用程序中,这就是我的docker-compose.yaml看起来的样子。

代码语言:javascript
复制
version: '3'
services:
  laravel:
    build: ./docker/build
    container_name: laravel
    restart: unless-stopped
    privileged: true
    ports:
      - 8084:80
      - "22:22"
    volumes:
      - ./docker/settings:/settings
      - ../2agsapp:/var/www/html
      # - vendor:/var/www/html/vendor
      - ./docker/temp:/backup
      - composer_cache:/root/.composer/cache
    environment:
      - ENABLE_XDEBUG=true
    links:
      - mysql
  mysql:
    image: mariadb:10.2
    container_name: mysql
    volumes:
      - ./docker/db_config:/etc/mysql/conf.d
      - ./db:/var/lib/mysql
    ports:
      - "8989:3306"
    environment:
      - MYSQL_USER=dev
      - MYSQL_PASSWORD=dev
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=laravel
    command: --innodb_use_native_aio=0
  phpmyadmin:
    container_name: pma_laravel
    image: phpmyadmin/phpmyadmin:latest
    environment:
      - MYSQL_USER=dev
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_PASSWORD=dev
      - MYSQL_DATABASE=laravel
      - PMA_HOST=mysql
    ports:
      - 8083:80
    links:
      - mysql
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node

volumes:
  storage:
  composer_cache:

我运行docker-compose up -d,然后遇到非常奇怪的问题,如果我在laravel容器中执行curl localhost:9200,它会返回这个消息Failed to connect to localhost port 9200: Connection refused,但是如果我从码头运行curl localhost:9200,它会返回预期的响应。

也许我不明白这是怎么回事,希望有人能帮我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-28 07:06:01

当您想要访问某个容器中的另一个容器时,应该使用容器名称,而不是localhost。

如果您在laravel中并且希望访问Elasticsearch,您应该:

代码语言:javascript
复制
curl es:9200

由于您将9200端口映射到localhost (docker中的ports部分),所以这个端口也可以从本地机器上获得,这就是为什么从本地机器卷到9200工作的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65473572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档