问题描述
我正在为我的 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 (将#修改为@)