docker搭建gitea

参考博客 :point_right: 文章

1.gitea 简介

gitea 是在 gitHubforkgogs 的项目,同样具有 gogs 易安装,跨平台,轻量级的特点。gitea 采用 Macaron 框架开发。

2.docker 获取gitea镜像

1
2
3
4
5
6
7
8
# pull gitea镜像
docker pull gitea/gitea

# 创建一个本地可以挂载到容器的目录
mkdir -p /data/gitea

# 给 gitea 加上权限保证其可读可写
cd /data && chmod -R 777 gitea

3.docker 获取mysql镜像

gitea支持 mysqlPgSqlMSSqlSqlLite3数据库。
这里我使用mysql数据库存储,使用mysql容器gitea容器链接。

1
2
# pull mysql 5.7镜像
docker pull mysql:5.7

4.docker创建mysql容器

1
docker run --name=mysql_git -d -p 10812:3306 -e MYSQL_PASSWORD=password mysql:5.7

参数说明

--name=mysql_git:指定创建的容器名为mysql_git
-p 10812:3306: 将容器的3306端口映射到主机10812端口
-e MYSQL_ROOT_PASSWORD=password: 指定mysql的root密码为password

5.进入mysql容器,创建数据库

1
docker exec -it mysql_git bash #执行命令进入容器
1
mysql -u root -p #执行该命令后输入root密码

1
CREATE DATABASE gitea_db; #创建gitea_db数据库

最后执行exit退出容器

6.docker 创建容器并运行

1
2
3
4
5
# 初次执行 run gitea,注意这里 gitea 是前台启动,启动后 command + C 退出就好了
# 宿主机 10023 映射到 gitea 容器的 22 ssh 端口
# 宿主机 10081 映射到 gitea 容器的 3000 http 端口
# /data/gitea 目录挂在到容器中的 /data 目录
docker run --name=gitea -p 10023:22 -p 10081:3000 --link mysql_git:db -v /data/gitea:/data gitea/gitea

:key: --link mysql_git:db
  :point_right:db 就是在gitea容器中mysql_git数据库的地址

7.最后

访问地址 http://ip:10081/ 即是 gitea 地址,首先要配置好你的数据库。

仓库风格如下