docker安装opengrok环境

本文档介绍了如何在Ubuntu环境下安装Docker,并使用Docker部署OpenGrok代码浏览工具。首先,遵循Docker官方指南安装Docker。然后,从Docker仓库拉取OpenGrok镜像,通过指定的环境变量、端口映射和数据卷挂载来运行容器。最后,介绍了如何更新代码索引以及解决可能遇到的问题,如容器挂掉等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 update
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  1. 添加key
 sudo mkdir -p /etc/apt/keyrings
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

 echo \
  "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 update
 sudo 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安装OpenVPN的逐步指南 为了通过Docker部署并运行OpenVPN服务,可以遵循如下方法: #### 准备工作 确保本地环境已成功安装Docker引擎。如果尚未完成此操作,则需先参照官方文档进行设置[^1]。 #### 获取镜像 从Docker Hub拉取最新的kylemanna/openvpn镜像,该镜像是社区广泛认可用于创建OpenVPN服务器的良好起点。 ```bash docker pull kylemanna/openvpn ``` #### 初始化配置文件 利用所获取的镜像启动容器来初始化必要的证书和密钥材料。这一步骤会生成CA证书、服务器端私钥以及Diffie-Hellman参数等重要组件。 ```bash docker run -v openvpn-data:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://YOUR_SERVER_IP docker run -v openvpn-data:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn ovpn_initpki ``` 注意替换`YOUR_SERVER_IP`为实际公网IP地址或域名[^2]。 #### 启动OpenVPN服务 基于之前准备好的数据卷(`openvpn-data`)再次启动一个新的长期运行的服务实例。 ```bash docker run -v openvpn-data:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn ``` #### 创建客户端配置档案 每当有新的用户加入网络时都需要为其单独制作一份专属配置包。下面命令将会导出一个名为client.ovpn的文件供下载使用。 ```bash docker run -v openvpn-data:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn easyrsa build-client-full CLIENT_NAME nopass docker run -v openvpn-data:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_getclient CLIENT_NAME > CLIENT_NAME.ovpn ``` 请记得将`CLIENT_NAME`替换成具体用户名字串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值