LoginSignup
0

More than 5 years have passed since last update.

DockerでApache Solr 6系を作ってみる

Last updated at Posted at 2018-05-13

概要

Apache Solrのコンテナは公式のものがありますが、
java:8コンテナをベースにして独自で作ってみたかったので試してみる。
※ あくまで学習用です(公式コンテナがあるので実際に使う場合はそちらを利用)。

ファイル構成

下記のようなファイル構成となります。

ファイル一覧
├ Dockerfile
└ solr-6.6.3.tgz

ApacheSolrのダウンロード

下記サイトからダウンロードします。
※ 今回は、「solr-6.6.3.tgz」をダウンロードしました

Dockerfile

コンテナを作成するための設定を作成します。

Dockerfile
FROM java:8

# system update
RUN apt-get -y update && apt-get -y upgrade

# locale
RUN apt-get -y install locales && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8

# timezone (Asia/Tokyo)
ENV TZ JST-9

# etc
ENV TERM xterm

# tools
RUN apt-get -y install less vim

# apache solr
COPY solr-6.6.3.tgz /tmp/solr-6.6.3.tgz
RUN mkdir -p /usr/solr/ \
    && tar xzvf /tmp/solr-6.6.3.tgz -C /usr/solr/ \
    && rm /tmp/solr-6.6.3.tgz
ENV PATH="/usr/solr/solr-6.6.3/bin:$PATH"

WORKDIR /root
EXPOSE 8983
ENTRYPOINT /bin/sh -c "solr start -force && tail -f /dev/null"

コンテナ作成

下記コマンドでビルドします。

ターミナル
$ docker build -t reflet/solr6 .

コンテナ起動

下記コマンドでsolr4コンテナを起動(8006ポート)します。

ターミナル
$ docker run -p 8006:8983 -d --name solr6 reflet/solr6

状況確認

コンテナへ接続して、バージョンや起動状況を確認する。

ターミナル
$ docker exec -it solr6 bash
ターミナル(solrコンテナ)
$ java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2~bpo8+1-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
ターミナル(solrコンテナ)
$ ps -aux | grep solr
root         5  0.0  0.1   4328   580 ?        S    11:02   0:00 /bin/sh -c /usr/solr/solr-6.6.3/bin/solr start -force && tail -f /dev/null

$ solr -version
6.6.3

管理画面

Apache Solrが起動していれば、下記のURLで確認できると思います。

# localhostの場合
http://localhost:8006/solr/

# vagrant(192.168.33.10)の場合
http://192.168.33.10:8006/solr/

ブラウザで上記URLへアクセスして管理画面が閲覧できればOK。
solr6.png

以上

参考サイト

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
0