CentOS 7 安装gogs git代码服务器

1,关于Gogs

开源的代码服务器最牛的是github,有一个开源的实现是gitlab。
但是gitlab是用ruby写的,某些时候性能有问题。
有的时候使用的时候超级慢。代码存的多了就会出现的问题。
不知道 gogs会不会有这个问题。于是尝试下。
官方网站是:https://gogs.io/


代码放到github上面了。1300多个分享。

2,安装步骤

https://gogs.io/docs/installation
我使用的是最简单docker安装。在centos7 直接install就可以安装docker。源里面有。

yum -y install docker

su root # 先切换到root用户, 再执行以下命令
systemctl enable docker # 开机自动启动docker

systemctl start docker # 启动docker
systemctl restart docker # 重启dokcer

否则还需要安装mysql,git,ssh等服务,只是先折腾下,不想太麻烦。即使二进制的安装也才有15mb大小。
https://github.com/gogits/gogs/tree/master/docker

1# Pull image from Docker Hub. 2$ docker pull gogs/gogs 3 4# Create local directory for volume. 5$ mkdir -p /var/gogs 6 7# Use `docker run` for the first time. 8$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs 9 10# Use `docker start` if you have stopped it. 11$ docker start gogs

使用docker ps就可以看到服务了:

1CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2a42d410293e4 gogs/gogs "docker/start.sh /bin" 17 seconds ago Up 8 seconds 0.0.0.0:10022->22/tcp, 0.0.0.0:10080->3000/tcp gogs

之后就是等待了,之前写了关于docker 国内镜像的使用:
http://blog.csdn.net/freewebsys/article/details/50888878
需要注册daocloud 账号然后设置下源。

3,安装gogs

输入docker主机的ip和端口(默认端口10080):http://192.168.1.8:10080/
为了简单安装,使用sqlite3数据库。正常应该使用docker安装一个mysql服务,然后配置用户名密码。

默认配置,注意一定要写上服务器ip或域名。

可以不用创建管理员用户,默认第一个用户就是管理员。
但是admin这个用户是不能使用的。

创建了一个gogs用户,这个就是管理员。
数据在宿主上面的/var/gogs/目录下面,如果需要重新安装,则清空这个目录,然后重启下gogs的docker镜像即可。

4,测试git服务

创建一个项目:

下载然后提交一个文件:

1# git clone http://192.168.1.8:10080/gogs/gogs.git 2# touch README.md 3# git add README.md 4# git commit -m "first commit" 5# git push -u origin master 6 7如果没有配置ssh,则需要输入用户名密码: 8Username for 'http://192.168.1.8:10080': gogs 9Password for 'http://gogs@192.168.1.8:10080': 10Counting objects: 3, done. 11Writing objects: 100% (3/3), 206 bytes | 0 bytes/s, done. 12Total 3 (delta 0), reused 0 (delta 0) 13To http://192.168.1.8:10080/gogs/gogs.git 14 * [new branch] master -> master 15Branch master set up to track remote branch master from origin.

然后空文件就上传上了!!

5,总结

gogs代码非常的少,二进制代码才18mb。速度很快。
没有太多冗余的功能,比较gitlab还是显得简陋点。但是这个问题不大,功能越多问题越多,只要做好git服务就行,其他的花哨的东西都没有用。
做代码托管服务足够了,没有gitlab之前,代码放到svn服务器的时候还没有可视化界面呢,只要配置文件不一样使用么。
已经非常不错了,速度快,够稳定就行了,其他都是浮云。

docker容器Cannot connect to the Docker daemon. Is the docker daemon running on this host?解决方法。

第一次安装Docker,运行docker命令是可以的,如

[html] view plain copy

  1. docker ps  

重启系统之后,运行docker ps后出现如下报错:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

查找资料后,知道了这是权限问题。需要root用户才能运行。

从0.5.2开始docker的守护进程总是以root用户来运行。docker守护进程绑定的是Unix的socket而不是一个TCP端口。Unix的socket默认属于root用户,所以,使用docker时必须加上sudo。

从0.5.3开始,创建一个名为docker组,然后将用户加入这个组内。当docker守护进程启动时,它会把Unix的读写权限赋予docker组。这样,当你作为docker组内用户使用docker客户端时,你就无须使用sudo了。

----分割线---

以下为解决办法:

第一种:

依次运行以下命令,跳转至root用户去运行docker命令:

[html] view plain copy

  1. sudo su                       //切换到root  
  2. service docker start      //启动docker service  
  3. docker images              //显示所有images  
  4. docker ps //重新运行docker命令  

第二种:

把当前用户加到docker用户组中:

# 添加docker用户组

[html] view plain copy

  1. sudo groupadd docker  

# 把自己加到docker用户组中

[html] view plain copy

  1. sudo gpasswd -a myusername docker  

# 重启docker后台服务

sudo service docker restart 

重启系统,直接运行docker命令就行了,不用加上sudo。

G

M

T

Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu

Text-to-speech function is limited to 200 characters

Options : History : Feedback : Donate

Close

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )