Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。我们先来讲最常用的部署方式:docker。
下载gogs的docker镜像
docker pull gogs/gogs
创建gogs存储的目录
mkdir -p /var/gogs
gogs 的Git repositories 和 Gogs data都存储在该目录的格式
目录结构
运行镜像, 产生容器
docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
我们平时运行影响更希望他在后台运行
docker run --name=gogs -d -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
10022:22表示公网端口号10022映射到内网22
10080:3000表示公网端口号10080映射到内网3000
在浏览器通过10080端口访问网站,比较重要的配置是域名要改成公网IP,SSH端口号要用服务器映射的端口号10022,http端口号用docker环境监听的内网端口号300,
应用URL通过10080访问。
配置
保存配置,注册用户,第一个用户默认为管理员
现在可以正常的使用git服务网站了。
!!!docker gogs 网站的迁移!!!
docker版本gogs的网站迁移非常简单,我们在部署好后,使用
docker ps
查看容器id
容器id
进入docker gogs容器
进入docker gogs容器docker exec -it 8a19c53aca5d /bin/bash
退到根目录
data目录cd /
gogs网站应用部署在app中,而网站应用的数据,就全部在data中。而我们在创建docker gogs的时候曾经在创建了gogs存储的目录
mkdir -p /var/gogs
主机该目录的内容就是,容器中data目录的备份,我们在做网站迁移是,只需要拷贝出主机中/var/gogs中的数据,在另外主机拉起gogs容器后,将拷贝出来的数据覆盖掉容器中的data目录数据即可
docker cp git 8a19c53aca5d:/data
docker cp gogs 8a19c53aca5d:/data
docker cp ssh 8a19c53aca5d:/data
网友评论