一、docker安装
直接docker运行 docker run -d --name gitea -p 13000:3000 -p 13001:22 gitea/gitea:1.15.6
访问 http://IP:13000
即可
注意:gitea需连接数据库,因此需要有数据库可以使用,建议使用mysql,其他也可以。
之后就是,浏览器上按照步骤完成初始化,连接数据库等操作。
参考网址:https://blog.csdn.net/qq_34844710/article/details/128659469
当然,还可以使用nginx去代理,使用域名访问等等。
二、数据备份及迁移(重点)
1、老机器备份
1.创建备份文件夹
cd /home/docker
mkdir gittmp
2.进入容器,并备份数据库数据
docker exec -it gitea bash
-- 切到git用户
su git
-- 找到gitea文件(不同版本位置可能不同,我这个是1.15.6版本的)
cd /app/gitea
-- 执行数据备份命令,执行完毕后,文件夹下会生成gitea-dump-**********.zip文件
./gitea dump
-- 退出容器
exit
exit
3.复制出备份的数据库数据,以及git相关代码
-- 复制出数据库备份
docker cp gitea:/app/gitea/gitea-dump-1711363970.zip /home/docker/gittmp/gitea-dump.zip
-- 复制出gitea的数据文件
docker cp gitea:/data /home/docker/gittmp/gitea-data-backup
4.打包,传到新机器
tar -zcvf gittmp.tar.gz gittmp/
scp -P ${ssh端口} gittmp.tar.gz ${username}@${ip}:/home/docker/
2、新机器导入
1.进入文件夹,并解压备份文件
cd /home/docker/
tar -zxvf gittmp.tar.gz
-- 解压老机器中gitea备份的数据,主要是sql
cd /home/docker/gittmp
unzip gitea-dump.zip
2.安装gitea,安装后无需进行配置
docker pull gitea/gitea:1.15.6
docker run -d --name gitea -p 13000:3000 -p 13001:22 gitea/gitea:1.15.6
3.将sql数据导入数据库(以本地安装的mysql容器为例)
首先需要使用数据库连接工具,连接mysql,并创建gitea仓库(也可以通过命令去创建)
-- 1.将sql文件导入到mysql容器中
docker cp /home/docker/gittmp/gitea-db.sql mysql:/
-- 2.进入容器,并将sql文件导入进数据库
docker exec -it mysql bash
mysql -uroot -p gitea < /gitea-db.sql
-- 3.导入完成后,删除sql文件并退出
rm gitea-db.sql
exit
4.导入git仓库代码等数据文件
-- 1.修改配置文件。将里面的域名、数据库等信息修改为实际的域名及数据库、用户名、密码
vim /home/docker/gittmp/gitea-data-backup/gitea/conf/app.ini
-- 2.将所有备份数据文件复制进gitea容器中
docker cp /home/docker/gittmp/gitea-data-backup/. gitea:/data/
-- 3.进入容器,修改文件权限(默认文件所有人、所属组为root,需改完git)
docker exec -it gitea bash
cd /data/
chown -R git:git *
exit
5.最后重启gitea,删除备份
docker restart gitea
rm -rf /home/docker/gittmp*
重启完成后,访问 http://IP:13000
即可