微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker:配置 solr 以便它与本地运行的数据库连接而不是在 docker 上运行?

如何解决Docker:配置 solr 以便它与本地运行的数据库连接而不是在 docker 上运行?

我正在为我的 rails 应用程序使用 docker 容器,并在我的本地机器上运行数据库 postgres。我想在我的应用程序中添加 solr。 我已经添加了我的配置文件,使用这个配置,我的 solr 开始于 8983 但重新索引它会引发错误

RSolr::Error::Http: RSolr::Error::Http - 404 未找到

我应该如何配置 solr 以便它与本地运行的数据库连接而不是在 docker 上运行?

Dockerfile:

FROM ruby:2.4.5
RUN apt-get update -qq && apt-get install -y aspell default-jdk imagemagick 
libmagickwand-dev build-essential libpq-dev nodejs \
&& apt-get clean autoclean && apt-get autoremove -y && rm -rf \
/var/lib/apt  /var/lib/dpkg  /var/lib/cache /var/lib/log
RUN mkdir /myapp
workdir /myapp
copY Gemfile /myapp/Gemfile
copY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
copY . /myapp
CMD ["bundle","exec","puma","-C","config/puma.rb"]

docker-compose.yml:

version: '3'
services:
  database:
    image: postgres:11
    volumes:
     - ./tmp/db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: "abc"
      POSTGRES_PASSWORD: "abc"
 solr:
   build:
     context: .
       dockerfile: Dockerfile-solr
  ports:
    - "8983:8983"
  volumes:
    - data:/opt/solr/server/solr/mycores
  entrypoint:
   - docker-entrypoint.sh
   - solr-precreate
   - mycore
   depends_on:
     - database
web:
  build: .
  restart: always
  volumes:
    - .:/myapp
  ports:
   - "3000:3000"
  depends_on:
   - database
   - solr

卷: 数据:{}

Docker-solr

FROM solr:7.0.1
copY ./solr/conf/schema.xml /opt/solr/server/solr/configsets/_default/conf/schema.xml

sunspot-solr.yml

development:
 solr:
  hostname: solr
  port: 8983
  log_level: INFO
  path: /solr/development
  solr_home: solr
 auto_commit_after_request: false

数据库.yml

default: &default
 adapter: postgresql
 encoding: unicode
 host: 172.25.0.1   # added to connect with my local postgres and its running fine
 # host: database
 username: ---
 password: ---
 timeout: 5000
 port: 5432
 socket: /var/run/postgresql
 database: test_db

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。