美文网首页
使用Docker搭建git服务Gogs

使用Docker搭建git服务Gogs

作者: EarthChen | 来源:发表于2017-08-13 16:50 被阅读3620次

在选择本地git服务时,通常大家都会选择直接安装gitlab,但是其安装复杂,占用资源多等缺点有点让人接受不了,肯定不想一台服务器只用来跑gitlab了,有些太浪费。
还可以选择直接在系统上安装没有图形界面的git服务器,但是带来了不易查看等缺点
所以笔者在这里使用了Gogs来作为自建git服务。

Gogs

安装Docker

使用docker官方文档里面写的安装脚本我一直安装失败,就算添加上了dcoker官方源,安装过程也会非常慢,还有一堆教程里让我们使用apt-get安装,这样的确能安装但是版本太老,这里给出一种安装非常简单的方式。

使用阿里的镜像安装

  1. 可以使用阿里云的镜像仓库下载docker-enginedocker-ce

  2. 在终端中执行以下命令

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

接下来只要等待就好,版本也相对够新。

  1. 查看docker版本,确认安装成功
    在终端中输入如下命令
sudo docker version
出现类似如下结果即为成功 docker版本号
  1. 使用阿里仓库来加速你的docker
    可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://dmmxhzvq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装Gogs

安装Gogs有多种方式,可以自行去Gogs官网查看,笔者这里只介绍一下docker方式去安装部署,github主页也可以自行查看

步骤

  1. 首先拉取gogs镜像
$ sudo docker pull gogs/gogs
  1. 创建本地目录存放数据
$ sudo mkdir -p /var/gogs

这个目录可以自定义

  1. 使用run命令绑定端口和一些配置文件
$ sudo docker run -d --name=mygogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

注:

  • 这里-d将容器跑到后台,不在当前终端输出
  • -p用来配置外置端口和内置端口的对应关系,将10022转到22端口,将10080转到3000端口
  • --name用来给这个容器命名,不能重名
  • -v用来配置数据的对应关系
  • 想要了解更多,需要系统的学习docker相关

配置Gogs

第一次进入gogs会出现如下页面


安装Gogs

可以选择使用mysql作为数据库,但是稍微麻烦一点,需要在mysql配置一下授权,如果不想麻烦,那可以直接使用sqlite3作为数据库,免去了配置数据库

几个ip很重要,可以按我给的配置来填写,当然刚开始填错了也可以后来在app.ini中修改。

邮件服务配置的可以自行选择是否需要

建议不要使用内置ssh,反正笔者试过使用内置ssh可能出现权限拒绝问题,没看到好的解决办法。

安装好并登录即能出现如下界面


登录主界面

然后就可以正常使用了。

创建仓库测试使用

  1. 创建一个测试仓库
    简单创建一个空仓库如下:


    创建测试仓库
  2. 将本地的git公钥复制到用户设置里面的ssh秘钥中

  3. 使用ssh方式将本地文件推送上去


    ssh推送示例

以上,就可以正常使用了。

注:

  • 如果安装时,出现docker进程已运行,但是从web页面缺访问不了,可以将/var/gogs/文件夹删除重新运行
  • 如果删除文件还不行,推荐将创建的容器删除重新创建
  • 在配置完gogs时,外部无法访问时,请查看防火墙,是否打开了外部端口,本文中的配置只需要打开1008010022两个端口
  • 上述环境在ubuntu16.04 lts中搭建测试成功
  • 上述文字皆为个人看法,如有错误或建议请及时联系我

相关文章

网友评论

      本文标题:使用Docker搭建git服务Gogs

      本文链接:https://www.haomeiwen.com/subject/zcjerxtx.html