一、前言

  • AnolisOS7.9系统如何安装docker可参考Anolis OS 7.9安装docker
  • 安装流程参考官方文档介绍https://docs.gitea.io/zh-cn/。官方docker安装流程中建议使用docker-compose进行设置,如果系统已经安装了docker-compose,可以按照官方介绍进行安装,这里仅介绍直接使用docker进行安装的流程。

二、介绍

  • Gitea(即Git with a cup of tea) 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证.

三、安装

1、拉取gitea镜像

docker pull gitea/gitea:latest

拉取成功后,可通过docker images 命令查看拉取的镜像信息。

2、新建git用户

:如果想要gitea在root用户下运行,可以忽略该步骤。

useradd git #新建git用户
passwd git #设置git用户密码

新建完成之后通过id git命令查看git用户的uid和gid,后续步骤要用到。本文中git的参数如下
在这里插入图片描述

2、运行gitea容器

docker run \
  -e USER_UID=1001 \
  -e USER_GID=1001 \
  -d \
  --net mynet1 --ip 172.18.0.3 \
  --restart=always \
  --name=gitea \
  -p 9020:22 \
  -p 9000:3000 \
  -v /home/git/gitea:/data \
  -v /etc/localtime:/etc/localtime:ro \
  -v /etc/timezone:/etc/timezone:ro \
  gitea/gitea:latest

这里对各个参数进行说明:

  1. -e USER_UID=1001 :设置环境变量,在容器内运行 Gitea 的用户的 UID(Unix 用户 ID)。如果使用主机卷,则将其与 /data 卷的所有者的 UID 匹配(对于命名卷,则不需要这样做)。这里由于要将容器的/data目录映射到主机/home/git/gitea目录,设置该参数可以避免主机目录所属用户错乱的问题。当前设置为git用户的uid。
  2. -e USER_GID=1001:设置环境变量,在容器内运行 Gitea 的用户的 GID(Unix 组 ID)。如果使用主机卷,则将其与 /data 卷的所有者的 GID 匹配(对于命名卷,则不需要这样做)。设置理由同上。当前设置为git用户的gid。
  3. -d:后台运行。
  4. net mynet1 --ip 172.18.0.3:指定网桥,并指定容器的ip地址以防重启时ip地址改变。
  5. --restart=always:在容器退出时总是重启容器。
  6. --name=gitea:为容器指定名称为gitea。
  7. -p 9020:22:端口映射,主机的9020端口映射容器的22端口,用于映射gitea的ssh服务端口。
  8. -p 9000:3000:端口映射,主机的9000端口映射容器的3000端口,用于映射gitea的http服务端口。
  9. -v /home/git/gitea:/data:容器卷挂载,将容器/data目录挂载到主机/home/git/gitea目录上。
  10. -v /etc/localtime:/etc/localtime:ro:用于同步容器与主机时间。
  11. -v /etc/timezone:/etc/timezone:ro:用于同步容器与主机时区。
    然后通过命令docker ps即可查看当前gitea运行状态。

3、登录gitea配置页面

这时在主机上用浏览器登录http://主机ip:9000即可进入gitea配置页面,如下图
在这里插入图片描述
如果使用SQLite3数据库则数据库设置这块不需要额外配置。数据库设置和可选设置根据自己的需要进行设置即可,需要注意的是一般设置的部分配置:

  1. 仓库根目录LFS根目录SSH 服务端口HTTP 服务端口日志路径需要配置容器的路径和端口,这里使用默认配置即可。
  2. 以用户名运行设置用户git,SSH 服务域名基础URL配置成主机的ip地址和端口。

一切设置好后提交,待安装完毕即可正常访问。
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐