使用Docker搭建git服务Gogs

:转载

文章目录

    • Gogs
      • 安装Docker
      • 使用阿里的镜像安装
    • 安装Gogs
      • 步骤
        • 1.首先拉取gogs镜像
        • 2.创建本地目录存放数据
        • 3.使用run命令绑定端口和一些配置文件
      • 配置Gogs
        • 创建仓库测试使用
          • 注:

Gogs

安装Docker

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

使用阿里的镜像安装

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

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

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

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

3.查看docker版本,确认安装成功
在终端中输入如下命令

sudo docker version

出现类似如下结果即为成功
使用Docker搭建git服务Gogs_第1张图片
4. 使用阿里仓库来加速你的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

2.创建本地目录存放数据

$ sudo mkdir -p /var/gogs

这个目录可以自定义

3.使用run命令绑定端口和一些配置文件

sudo docker run -d --name=mygogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
docker run -it --rm --name=gogs -p 8001:22 -p 8002:3000 -v /var/gogs:/data gogs/gogs

参考地址
注:

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

配置Gogs

第一次进入gogs会出现如下页面
使用Docker搭建git服务Gogs_第2张图片
可以选择使用mysql作为数据库,但是稍微麻烦一点,需要在mysql配置一下授权,如果不想麻烦,那可以直接使用sqlite3作为数据库,免去了配置数据库

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

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

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

安装好并登录即能出现如下界面
使用Docker搭建git服务Gogs_第3张图片然后就可以正常使用了。

创建仓库测试使用

1.创建一个测试仓库
简单创建一个空仓库如下:
使用Docker搭建git服务Gogs_第4张图片
创建测试仓库

2.将本地的git公钥复制到用户设置里面的ssh秘钥中

3.使用ssh方式将本地文件推送上去
使用Docker搭建git服务Gogs_第5张图片
以上,就可以正常使用了。

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

你可能感兴趣的:(Git-版本控制系统,Linux,Docker,\搭建git服务Gogs,使用Docker搭建git,docker,git,linux)