LoginSignup
9
6

More than 5 years have passed since last update.

solrをdockerで導入 2017年版

Last updated at Posted at 2017-07-07

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/
にも色々書いてあるけど、分かりやすくは無いのでまとめてみた。

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6