便利ツール

dockerを使ってOpenGrokを簡単に設置

ソースコード検索システムであるOpenGrokdockerというコンテナ仮想化を使って手軽に設置する方法をまとめています。

参考

dockerを使わない設置方法は「OpenGrokを設置する方法」にまとめています。

 

OpenGrokのdockerイメージを取得

docker hub に登録されている OpenGrok のイメージを pull します。
今回は https://hub.docker.com/r/scue/docker-opengrok/ を使います。

 コマンド
$ sudo docker pull scue/docker-opengrok

参考

docker pull については、>>こちら<< を参照ください。

 

OpenGrok で検索するソースコードを準備

OpenGrok でインデックスをつけ、検索可能にしたいソースコードを準備します。
ここでは、以下のようなディレクトリ構成で説明を進めます。

ソースコードのディレクトリ /home/user/src
OpenGrok の作業ディレクトリ /home/user/opengrok_data

ポイント

ソースディレクトリの直下にあるディレクトリがプロジェクトとして認識されます。
OpenGrok で、各プロジェクトごとに検索することができるようになります。

/home/user/src/[project1]/・・・
/home/user/src/[project2]/・・・

 

docker を起動して indexer を動かす

それではさっそく docker pull したイメージを使って、OpenGrok を動かしてみます。
OpenGrok のイメージは、起動すると /src 配下のソースコードにインデックスをつけ始めます。

 起動コマンド
$ sudo docker run \
--name opengrok \
--rm \
-d \
-v /home/user/src:/src \
-v /home/user/opengrok_data:/data \
-p 8888:8080 \
scue/docker-opengrok
オプション 意味
--name opengrok コンテナの名前を opengrok に設定
--rm コンテナ終了時、自動的に削除
-d (--detach) コンテナをバックグラウンドで実行し、コンテナ ID を表示
-v /home/user/src:/src
-v /home/user/opengrok_data:/data
コンテナを起動するHost側のファイルシステムをコンテナ内でマウント。パスは絶対パスで指定し、コロン「:」で繋ぐ
-p 8888:8080 TCPポートのバインドを設定。Host側の8888番をコンテナの8080にバインド

 

OpenGrok にアクセス

コンテナを起動出来たら、「http://localhost:8888/source/」で OpenGrok にアクセスできます。
別のIPアドレスを持つサーバーに環境を構築した場合は、localhost 部分を変更してください。

SANACHAN
SANACHAN
解析対象のソースコードが多い場合は、インデックスに少し時間がかかります。
プロジェクトが表示されるまで、少し待ちましょう。

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-便利ツール
-,