ソフトウエアを本運用する際、Docker上で運用するケースも増えてきたと思います。FessもDockerで簡単に利用できるようにDockerイメージが配布されており、dockerコマンドを実行するだけでDocker上に簡単にFessを構築することができます。今回は、Docker上でのFessの利用方法について説明します。
Dockerとは
DockerはOSレベルの仮想化を利用してソフトウエアを「コンテナ」と呼ばれるパッケージで提供する製品群です。今回は、「docker」と「docker-compose」というコマンドを利用して説明するので、あらかじめ「Docker Desktop」をインストールしておいてください。
FessのDockerイメージは、「Docker Hub」で配布しています。インターネットに接続されている環境であれば、dockerコマンドの実行時などにDockerイメージを取得することができます。
事前設定
Fessは検索エンジンにElasticsearchを利用しているので、ElasticsearchがDockerコンテナとして実行できるようにする必要があります。それには、OS側で「vm.maxmapcount」の値を調整します。利用するOSによって設定方法が異なるので、それぞれの設定方法については「Set vm.max_map_count to at least 262144」を参照してください。
dockerコマンドでの起動
まずは、FessをDockerコンテナとして起動してみます。FessのDockerイメージは、「codelibs/fess:バージョン」で指定します。今回は、Fessの起動ログが確認できるようにするため、以下のコマンドで起動します。
$ docker run -it -p 8080:8080 codelibs/fess:13.8.0
起動完了後、「http://localhost:8080/」からFessにアクセスできます。
Fessのコンテナを停止させる場合は「docker stop CONTAINER」または「Ctrl」+「C」で停止してください。
docker-composeコマンドでの起動
FessをDockerコンテナとして本運用する場合、FessとElasticsearchのコンテナは分離していたほうが運用管理が楽になります。Fessでは、FessとElasticsearchのコンテナを別々に起動するDocker Compose用の環境も提供しています。
Docker Compose用の環境を取得して、docker-composeコマンドを実行して起動します。
$ git clone -b v13.8.0 https://github.com/codelibs/docker-fess.git
$ cd docker-fess/compose/
$ docker-compose -f docker-compose.yml -f docker-compose.standalone.yml up -d
起動完了後、「http://localhost:8080/」からFessにアクセスできます。
起動したコンテナの状態は「docker ps」で以下のように確認できます。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
570aa5d85d3c codelibs/fess:13.8.1 "/bin/sh -c /usr/sha..." About a minute ago Up About a minute 9200/tcp, 0.0.0.0:8080->8080/tcp, 9300/tcp fess01
81d8a6b4d285 codelibs/fess-elasticsearch-oss:7.8.0 "/tini -- /usr/local..." About a minute ago Up About a minute 0.0.0.0:9200->9200/tcp, 9300/tcp es01
Fessに関する設定は「docker-compose.yml」に、Elasticsearchの設定は「docker-compose.standalone.yml」に記述されています。例えば、ElasticsearchのJavaのヒープサイズを変更したい場合は、docker-compose.standalone.ymlの「ES_JAVA_OPTS=-Xms1g -Xmx1g」の箇所を修正します。
そのほか、インデックスの保存先を指定したいケースもあると思います。変更する場合は、docker-compose.standalone.ymlでボリュームの「esdata01」の箇所を変更して指定してください。
起動したコンテナを停止するには、以下のコマンドを実行します。
$ docker-compose -f docker-compose.yml -f docker-compose.standalone.yml down
* * *
今回はFessのDockerでの使い方を紹介しました。Docker Composeの構成を参考に構築すれば、本運用も可能なFess環境を構築することができます。また、最近ではAWSのECSでDocker Composeからのデプロイも容易になってきているので、Dockerを利用することで、クラウド上でのFessの構築や運用を容易に実現できるはずです。
著者紹介
![]() |
菅谷 信介 (Shinsuke Sugaya)
Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。
※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。
連載目次
もっと知りたい!こちらもオススメ
![【連載】Kubernetes入門 [15] CI/CDにおける潮流 - CIOpsからGitOpsへ](https://news.mynavi.jp/itsearch/assets_c/2020/07/k8s300-250-thumb-80x80-31326.jpg)
【連載】Kubernetes入門 [15] CI/CDにおける潮流 - CIOpsからGitOpsへ
今回は、CI/CDツールについてGitOpsやIaC(Infrastructure as Code)など、さまざまな側面から紹介することで、位置付けをより深く理解していただきます。なお、個別のCI/CD系のツールの使い方などの詳細については次回以降紹介します。
関連リンク
ダウンロードBOXに入れる
記事をダウンロードBOXに追加します。よろしいですか?
ブックマーク
記事をブックマークに追加します。よろしいですか?
-
[2021/03/05 08:00] サーバ/ストレージ
-
[2021/03/04 08:00] クラウド
-
$side_seminar_count = $i+1; ?>
-
2021年3月12日(金) 13:00 ~ 17:00 【第1部】13:00~13:50(基調講演) 【第2部】14:00~16:15 計12セッション 【ASK THE SPEAKER】16:30~17:00(講演者への質問コーナー)
KDDI SOLUTION DAY 2021 ~不確実性の高い時代のビジネス共創とDX~
$side_seminar_count = $i+1; ?>
-
2021年3月12日 金曜日 13:00 – 14:50
DXでさらに企業進化を AI+自動化でビジネスをパワーアップ
$side_seminar_count = $i+1; ?>
-
2021年3月15日(月)0:00~2021年3月31日(水)23:59
KDDI まとめてオフィスの学校向けオンラインセミナー ~これからの教育ICT推進に向けて~
$side_seminar_count = $i+1; ?>
-
2021年 3月 18日 (木) 13:00~18:20
マイナビニュース スペシャルセミナー 2021年の脅威に対峙する
$side_seminar_count = $i+1; ?>
-
2021年3月18日(木)15:00~16:00
5G時代のCDNに!コスト削減と顧客体験向上を両立させるCDNとは?
今注目のIT用語の意味を事典でチェック!