文章目录

  • 概要
  • 开发环境
  • 搭建流程
  • 小结


概要

Docker是一种开源的容器化平台,可以帮助开发人员和系统管理员更轻松地构建、部署和运行应用程序。Docker容器是轻量级、可移植的虚拟化技术,可以在任何操作系统上运行,而不需要额外的虚拟化软件。Docker的主要优势包括快速部署、可移植性、资源利用率高、易于管理和维护等。它已经成为现代应用程序开发和部署的标准工具之一。

OpenGrok是一个开源的代码搜索和分析引擎,它可以帮助开发人员快速地搜索和浏览大型代码库。它支持多种编程语言和版本控制系统,包括Java、C、C++、Python、Ruby、Git、Subversion等。OpenGrok具有快速、可扩展和易于使用的特点,因此在许多开源项目和企业中得到广泛应用。

本文将介绍在docker中部署opengrok服务作为代码查询服务器的功能。

开发环境

主机环境:windows10
虚拟机软件:VMware
虚拟机镜像:ubuntu18.04
docker版本:20.10.21

说明:以下步骤要在Ubuntu虚拟机进行。

搭建流程

1、首先下载opengrok源码,推荐 链接

这个其实已经可以直接在Ubuntu上搭建服务,但是无法满足移植性,故搭建在docker上。

2、在Ubuntu上安装docker应用:链接

3、下载ubuntu的docker镜像

$ sudo docker pull ubuntu

此时使用下列指令可以看到安装的ubuntu镜像

$ sudo docker images

4、创建容器并进入

$ sudo docker run -it -p 8090:8090 ubuntu /bin/bash

这个命令会创建一个新的容器,并将本地的8090端口映射到容器的8090端口。容器启动后,你将进入容器的命令行界面。

5、在Ubuntu中将下载的opengrok包导入到容器中并解压(可能没有解压工具),注意:此步骤是在ubuntu上执行,非docker容器内

$ sudo docker cp /home/abc/tools-opengrok-master.zip 2d9fc54f956c:/home/tools-opengrok-master.zip

6、修改opengrok配置的端口号
解压完毕后,修改配置server.html和

$ vim tools-opengrok-master/apache-tomcat-10.0.12/conf/server.xml	#修改68行 port="8080" 改为 port="8090"

$ vim tools-opengrok-master/gen_code_index.sh	#修改16行的8080为8090

$ vim tools-opengrok-master/install.sh	#删除sudo

$ vim tools-opengrok-master/up_tomcat.sh	#删除sudo

7、将源码文件拷贝到docker容器里,注意现在容器的opengrok/index/下创建一个文件夹
案例:

$ sudo docker cp -rf /home/hello.c 2d9fc54f956c:/home/tools-opengrok-master/index/demo/hello.c

8、安装opengrok、启动tomcat、创建索引

$ ./install.sh

$ ./up_tomcat.sh

$ ./gen_code_index.sh

9、访问
在ubuntu中使用自带的火狐浏览器访问
http://192.168.1.1:8090/source ##ip地址换成ubuntu虚拟机的IP

小结

后续的代码都放置到opengrok的index中,再执行./gen_code_index.sh重新建立索引,后续有移植的需求时,可以将docker容器打包到其他linux环境。
例如:

$ docker export 1e560fca3906 > ubuntu.tar