opengrok - Docker 방식으로 사용해보기

2024. 10. 18. 18:13DevOpts/Opengrok

참고한 문서 :

 

Docker로 OpenGrok 설치 | Litcoder

잘 쓰고 있던 OpenGrok 서버가 갑자기 맛이 가는 바람에 부랴부랴 대안을 찾아야 했는데 마땅한 서버가 없어서 로컬 머신에 Docker로 설치하는 방법을 찾아 보았다. 여기 소개된 내용은 Docker Hub에서

litcoder.com

1. opengrok 도커 이미지를 내려 받는다. (podman 도커 호환 유틸리티)

podman pull opengrok/docker

 

현재 설치된 도커 이미지 확인

 

2. 테스트를 위한 디렉토리를 생성해본다.

mkdir -p test/{src,data}

find test
---
실행결과)
test
test/src
test/data

 

 

3. opengrok 을 실행한다.

podman run -d \
    --name opengrok \
    -p 8080:8080/tcp \
    -v ~/test/src/:/opengrok/src/ \
    -v ~/test/data/:/opengrok/data/ \
    opengrok/docker:latest

 

(컨테이너 ID가 출력된다)

 

도커 이미지에서 /opengrok 에 opengrok 이 설치되어 있다.

/opengrok/src 는 인덱싱할 소스코드 파일이 들어간다.

/opengrok/data 는 opengrok 이 인덱싱한 결과 파일이 생성된다.

 

 

4. 인덱싱 할 소스코드 파일을 준비한다.

 

 

5. 다음 명령으로 앞서 실행한 컨테이너에 접속한 후,

docker exec -it (컨테이너 ID) bash

 

 

opengrok.jar 를 실행해서 소스코드 파일 인덱싱을 한다.

export OPENGROK_DIR=/opengrok
java \
    -Djava.util.logging.config.file=$OPENGROK_DIR/etc/logging.properties \
    -Xmx1024m \
    -jar $OPENGROK_DIR/lib/opengrok.jar \
    -c /usr/local/bin/ctags \
    -s $OPENGROK_DIR/src -d $OPENGROK_DIR/data -H -P -S -G \
    -W $OPENGROK_DIR/etc/configuration.xml -U http://localhost:8080/

 

인덱싱 결과, 이런 파일이 생긴다

 

localhost:8080 으로 접속해서 소스코드 검색을 할 수 있다.