docker安装opengrok

为了更好浏览代码,尝试使用opengrok,为了简化安装和维护的步骤,决定以docker的形式安装opengrok。
参考官方文档:https://github.com/OpenGrok/docker。

安装docker环境

环境为ubuntu
参考docker官方的安装步骤:https://docs.docker.com/engine/install/ubuntu/

  1. Set up the repository
 sudo apt-get updatesudo apt-get install \ca-certificates \curl \gnupg \lsb-release
  1. 添加key
 sudo mkdir -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgecho \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装docker engine
 sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

至此,docker环境基本搭建完成,其他步骤可进一步参考官方文档。

opengrok镜像拉取

我们需要从docker仓库中拉取opengrok的镜像

sudo docker push opengrok/docker

运行opengrok容器

sudo docker run -d -e REINDEX=30 \  # 后台运行-v /home/lubuntu/workspace/opengrok/src:/opengrok/src \   # 映射src源码路径-v /home/lubuntu/workspace/opengrok/docker:/docker \ # 映射docker相关脚本路径-p 8080:8080 opengrok/docker:latest # 映射端口,可以将8080映射成其他端口

运行之后,可以通过sudo docker ps来查看docker容器运行的情况:

$ sudo docker ps
CONTAINER ID   IMAGE                    COMMAND               CREATED          STATUS          PORTS                                       NAMES
72bc02d74a23   opengrok/docker:latest   "/scripts/start.py"   12 seconds ago   Up 11 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   hungry_robinson

如果需要进去容器里去做或者查看一些东西,可以进入容器的bash内:

sudo docker exec -it <container id> bash
# 其中container id就是通过docker ps查看到的容器ID

更新代码索引

更新代码索引需要opengrok容器执行更新索引的脚本,官方仓库已经提供了。
还记得上面映射的路径-v /home/lubuntu/workspace/opengrok/docker:/docker,更新脚本就在docker/scripts/index.sh,如果你在容器外,可以运行sudo docker exec <container id> /docker/scripts/index.sh;如果已经在容器内了,直接运行/docker/scripts/index.sh即可。

其他

opengrok代码的索引主要是通过ctags来生成,如果项目比较大的换,会有很对ctags进程在后台运行,并且生成索引需要一段时间,之后的同步处理有需要一段时间,同时在更新和使用的过程中,opengrok的容器会莫名其妙挂掉,有时在更新一半后,有时在网页浏览时,感觉不稳定。

reference

http://www.bytefire.io/2016/11/21/deploy-opengrok-by-docker/
https://oracle.github.io/opengrok/

docker安装opengrok环境相关推荐

  1. Docker安装java环境并部署jar包运行

    Docker安装java环境并部署jar包运行 作为一个前端,了解后端部署jar包也是有必要的,在这里就我学习的,做一个简单的笔记,这里可以结合我的商品的增删改查的java文章一起看. java实现商 ...

  2. docker 安装 jdk 环境(从远处仓库下载安装)

    docker 安装 jdk 环境(从远处仓库下载安装) 1. 通过 docker search命令查找远程镜像库 $ docker search ibmjava 2.从远处镜像库下载镜像到本地 ibm ...

  3. docker php 安装swoole,swoole(1)使用docker安装swoole环境

    1.下载镜像 pull php 镜像 docker pull php:7.3-alpine3.8 创建容器 docker run -it --name test php:7.3-alpine3.8 s ...

  4. Docker基础认识与docker安装以及环境配置

    文章目录 一.什么是Docker 二.常用核心基本概念 1. 镜像(Image) 2. 仓库(Repository) 3. 容器 container(Container): 三.其他基础性概念 1. ...

  5. [RUST]linux docker安装rust环境

    下载安装rust镜像: docker search rust 获取官方版本的rust镜像,如果网卡,设置一下docker源 apt-get update 安装vim(可选,主要用于编辑一些配置文件) ...

  6. docker安装的环境

    添加好了上面的配置文件后,还需要执行下面两行命令,重启守护进程  sudo systemctl daemon-reload sudo systemctl restart docker 也可以改用阿里的 ...

  7. docker 安装mysql_docker学习4docker安装mysql环境

    前言 docker安装mysql环境非常方便,简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docke ...

  8. docker学习4-docker安装mysql环境

    前言 docker安装mysql环境非常方便,简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docke ...

  9. Docker安装ELK

    Docker安装ELK 环境说明: 三个服务在同一台机器上且防火墙关闭.端口开放. 注意: ElasticSearch.Kibana.Logstash三个服务版本要保持一致!!! 安装ElasticS ...

最新文章

  1. 取没有date的邮件发送时间
  2. Oracle专家调优秘密
  3. Linux 内核中断体系 初探
  4. 【转】常用数据结构及复杂度
  5. 使用java实现类似nc的功能_在FANUC机器人中使用后台运行逻辑实现PLC功能
  6. MAX_DEPTH, MAX_ROUTERS and MAX_CHILDREN
  7. android compile使用方法,自己创建一个android studio在线依赖compile
  8. hasLayout和filter滤镜的细节
  9. Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程
  10. blob 按换行 分裂_Blob对象介绍
  11. 10天学会phpWeChat——第一天:核心框架的目录结构
  12. TASKCTL4.1安装选项详解
  13. 网站跳转第三方QQ、微信登陆
  14. crmeb安装教程说明
  15. 用idea对git的merge进行撤销
  16. 【Android 安装包优化】WebP 图片格式 ( WebP 图片格式简介 | 使用 Android Studio 转换 WebP 图片格式 )
  17. web请求报出 “超过了最大请求长度”
  18. TQuery.RecordCount有时不灵呀
  19. android inflate 耗时,Android Fragment的生命周期和Inflate优化
  20. 巴比特《8问》专访 Conflux 创始人龙凡教授

热门文章

  1. php报表控件,可以在任何客户端生成报表的PHP报表控件Stimulsoft Reports.Fx
  2. 大数据 就业 缺口_三年培养10万大数据人才,解决大数据人才缺口
  3. 前端学习 课堂笔记 CSS篇(四)浮动
  4. MAPGIS文件总结01
  5. 力扣——374. 猜数字大小(java)
  6. 手把手教你如何给视频快速消音并添加背景音乐
  7. 【OpenCV】Mac OS M1上安装OpenCV
  8. java坐标代码_Java实现地理坐标判断
  9. 日期插件layDate的使用
  10. 小黑升级记----记ThinkPad470p加装固态盘