使用说明:
此docker镜像可以快速搭建opengrok服务。版本使用的是opengrok 1.7.41; 已经安装配置好tomcat和ctags. 注意:新的opengrok必须使用universal-ctags,需make编译安装
运行docker 容器:
docker run -it -v ${localpath}:/var/opengrok -u root:root -h opengrok --name opengrok -p ${localport}:8080 ronnyjiang/opengrok:1.7.41 /bin/bash
#其中${localpath} 本地的opengrok映射的目录,我用的是/home/ronny/workspace/opengrok。 里面有规定的四个目录。
#${localport}是本地映射的端口
首先将本地目录挂载到容器目录/var/opengrok 本地目录格式要求(四个目录):
应该包含src,source_code,data,etc,四个目录
-1) source_code里是真正的多个项目代码:eg:android5.1.1, web_tutorial, linux_tutorial,STM32F407_tutorial等;
-2) src存放source_code中各项目的软链接,日后不想让哪个项目创建索引就将软链接从src中移除;
-3) data目录空着就好,创建索引会指定data目录到data(-d /var/opengrok/data)
-4) etc目录空着就好,创建索引会指定configuration.xml到etc目录(-W /var/opengrok/etc/configuration.xml).
启动容器后,可以看到本地目录已挂载到/var/opengrok,切换到ronny用户下执行如下脚本生成索引(若不切换到ronny用户(1000 uid)则/var/opengrok/data目录下生成的xref index 等权限都是root,在host上要用sudo才有写权限,切到ronny则容器内和host主机一致都是uid gid 1000): 执行如下命令生成索引:
/home/ronny/runIndex.sh
然后ctrl+p,ctrl+q退出,用root用户进入容器,重新启动tomcat
docker exec -it -u root:root opengrok /bin/bash
/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/startup.sh
然后ctrl+p,ctrl+q退出即可。 接下来访问:http://$ip:$localport就可以访问了。
Content type
Image
Digest
sha256:e2ee4d367…
Size
817.9 MB
Last updated
almost 4 years ago
docker pull ronnyjiang/opengrok