Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?
@junk1400

solrをdockerで導入 2017年版

More than 1 year has passed since last update.

solrをdockerで導入 2017年版

  • 以前書いた「solrをdockerで導入から」時間が経過したので今のバージョン(6.6.0 stable?)で書き直してみます。

前提

  • dockerとdocker composeを使います。
  • OSはubuntu16.04です。(linuxなら多分違いは無い)

以下のコマンドでインストールできると思いますが、dockerのバージョンが古いと思うのでサイトからのインストールを推奨します。

$ sudo apt install docker.io
$ sudo apt install docker-compose

準備

  • coreを配置するローカルディレクトリを作成する。
$ sudo mkdir /data
$ sudo chown 8983:8983 /data

Solrコンテナのダウンロード

  • DockerとDocker composeのインストールが出来たら

以下のコマンドでsolrのコンテナをダウンロード

$ sudo docker pull solr
junk@ubuntu-vm:~/solr$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
solr                latest              4bc40f825e4c        2 weeks ago         518MB

docker composeの用意

自分のhomeディレクトリに適当にディレクトリを作成し、以下のファイルを作成する。

docker-compose.yml
version: '2'
services:
  solr:
    image: solr
    ports:
     - "8983:8983"
    volumes:
     - /data:/opt/solr/server/solr/mycores
    restart: always

以下のコマンドでsolrコンテナを起動する。

$ cd /home/junk/solr
$ sudo docker-compose up -d

作成が成功すると以下の感じに。

junk@ubuntu-vm:~/solr$ sudo docker-compose up -d
Creating solr_solr_1

junk@ubuntu-vm:~/solr$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
c42fa13db748        solr                "docker-entrypoint..."   About a minute ago   Up About a minute   0.0.0.0:8983->8983/tcp   solr_solr_1

この段階で、ブラウザで以下のアドレスにアクセスすれば画面が表示できる。

http://127.0.0.1:8983/

Screenshot from 2017-07-08 01-19-25.png

coreの作成

  • Solrコンテナが起動したまま以下のコマンドを実行し、coreを作成する
  • 下記「solr_solr_1」部の1つ目のsolrはdocker-compose.ymlのフォルダ名による。適時変更。
$ sudo docker exec -it --user=solr solr_solr_1 solr-precreate test

solr_solr_1は、コンテナの名前
testは、coreの名前
デス。

実行すると以下のようになります。

junk@ubuntu-vm:~/solr$ sudo docker exec -it --user=solr solr_solr_1 solr-precreate test
Executing /opt/docker-solr/scripts/solr-precreate test
created test

Port 8983 is already being used by another process (pid: 1)
Please choose a different port using the -p option.
  • solrのコンテナを再起動する
$ sudo docker restart solr_solr_1
  • コンテナを再起動し、サイトを再表示すればcoreがロードされます。

Screenshot from 2017-07-08 01-29-18.png

  • ローカルのコアディレクトリーにtest coreが作成されていることを確認。
junk@ubuntu-vm:/data$ ll
合計 12
drwxr-xr-x  3 8983 8983 4096  7月  8 01:24 ./
drwxr-xr-x 25 root root 4096  7月  7 00:58 ../
drwxr-xr-x  4 8983 8983 4096  7月  8 01:28 test/

https://hub.docker.com/_/solr/
にも色々書いてあるけど、分かりやすくは無いのでまとめてみた。

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
junk1400

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
6
Help us understand the problem. What is going on with this article?