[英]Docker rails elastic search
I am trying to implement elastic search in my rails web app.我正在尝试在我的 rails web 应用程序中实现弹性搜索。 I am using docker.我正在使用码头工人。 I used this link for reference.我使用此链接作为参考。 My docker-compose.yml file is:我的 docker-compose.yml 文件是:
mysql:
image: mysql:5.6.34
ports:
- "3002:3002"
volumes_from:
- dbdata
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=dev
dbdata:
image: tianon/true
volumes:
- /var/lib/mysql
web:
build: .
environment:
RAILS_ENV: development
ports:
- '3000:3000'
volumes_from:
- appdata
links:
- "mysql"
- elasticsearch
appdata:
image: tianon/true
volumes:
- ".:/workspace"
elasticsearch:
image: elasticsearch
ports:
- "9200:9200"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
mem_limit: 1g
cap_add:
- IPC_LOCK
volumes:
- /usr/share/elasticsearch/data
When I am trying to run Student.__elasticsearch__.create_index! force:true
当我尝试运行Student.__elasticsearch__.create_index! force:true
Student.__elasticsearch__.create_index! force:true
as indicated in the above given link. Student.__elasticsearch__.create_index! force:true
如上面给出的链接所示。 I am getting following error:我收到以下错误:
You need to set ENV for ELASTICSEARCH_URL
to correct value您需要将ELASTICSEARCH_URL
ENV设置为正确的值
ELASTICSEARCH_URL="http://<ip-of-your-docker-container>:9200"
As you have linked network, you can provide as bellow由于您有链接的网络,您可以提供如下
ELASTICSEARCH_URL="http://elasticsearch:9200"
Links allow you to define extra aliases by which a service is reachable from another service.链接允许您定义额外的别名,通过这些别名可以从另一个服务访问服务。 Any service can reach any other service at that service's name任何服务都可以通过该服务的名称访问任何其他服务
If no ENV is set, your rails app will use http://localhost:9200
如果没有设置ENV ,你的 Rails 应用将使用http://localhost:9200
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.