0
Không import được index với Docker Rails, Mysql, ELK
Dạ, hiện tại em đang cài đặt Elasticsearch cho project của bản thân và viết file docker này:
version: '3'
services:
db:
image: mysql:5.7.8
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
env_file:
- .env.development
web:
build: .
command: /bin/sh -c "bundle exec rails server -e production -p 3000"
ports:
- "3000:3000"
volumes:
- .:/usr/src/app
environment:
RAILS_ENV: development
env_file:
- .env.development
depends_on:
- db
- elasticsearch
restart: always
elasticsearch:
build:
context: elasticsearch/
volumes:
- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- elk
logstash:
build:
context: logstash/
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
- ./logstash/pipeline:/usr/share/logstash/pipeline:ro
ports:
- "5000:5000"
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- elk
depends_on:
- elasticsearch
kibana:
build:
context: kibana/
volumes:
- ./kibana/config/:/usr/share/kibana/config:ro
ports:
- "5601:5601"
networks:
- elk
depends_on:
- elasticsearch
volumes:
db-data:
networks:
elk:
driver: bridge
Các container đều chạy rất ổn. Em tiếp đó làm theo hướng dẫn của tut này: https://iridakos.com/tutorials/2017/12/03/elasticsearch-and-rails-tutorial.html
Tuy nhiên khi chạy Event.import(force: true)
ở rails c
thì kết quả trả về là đây
Mọi người xem hộ em xem em sai config ở đâu với ạ. Đây là full link của commit https://github.com/BlazingRockStorm/let-us-go/commit/01f57427437c8670a3142e076aac586d9c23d320
Có thể do bạn đang chạy ngoài docker nên host ko nhận ra được, bạn bash vào docker của web container rồi exec lại lệnh trên ra xem có được ko :-?
@Naem lệnh trên là em chạy tại web container đấy ạ
@Naem
@devil_boom_129 đấy giờ ra lỗi khác rồi kìa =)) xem xem là con elasticsearch này có đang running ko (docker ps)
@Naem có run ạ
@devil_boom_129 bạn chụp cái docker ps cho mình xem với, sợ con elastic này đang mount sai cổng
@Naem
@devil_boom_129 check kĩ lại các bước làm của bạn nhé, xem có đoạn nào gọi localhost:9200 ko thì change hết về elasticsearch:9200 , chắc chắn là có 1 đoạn nào đang gọi đến localhost:9200, bạn xem lại rồi bảo mình nhé.
@Naem Em cũng đang nghĩ như bác, có lẽ code của chủ thớt đang config elasticsearch host trong rails là
localhost
:-?Trong rail thì config elasticsearch host là:
elasticsearch
@huukimit ko biết thanh niên hỏi câu này ntn rồi =))