CentOS 7 安装gogs git代码服务器

Stella981
• 阅读 660

1,关于Gogs

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

CentOS 7 安装gogs git代码服务器
代码放到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

# Pull image from Docker Hub.
$ docker pull gogs/gogs

# Create local directory for volume.
$ mkdir -p /var/gogs

# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

# Use `docker start` if you have stopped it.
$ docker start gogs

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

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
a42d410293e4        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服务,然后配置用户名密码。
CentOS 7 安装gogs git代码服务器
默认配置,注意一定要写上服务器ip或域名。
CentOS 7 安装gogs git代码服务器
可以不用创建管理员用户,默认第一个用户就是管理员。
但是admin这个用户是不能使用的。
CentOS 7 安装gogs git代码服务器
创建了一个gogs用户,这个就是管理员。
数据在宿主上面的/var/gogs/目录下面,如果需要重新安装,则清空这个目录,然后重启下gogs的docker镜像即可。

4,测试git服务

创建一个项目:
CentOS 7 安装gogs git代码服务器
下载然后提交一个文件:

# git clone http://192.168.1.8:10080/gogs/gogs.git
# touch README.md
# git add README.md
# git commit -m "first commit"
# git push -u origin master

如果没有配置ssh,则需要输入用户名密码:
Username for 'http://192.168.1.8:10080': gogs
Password for 'http://gogs@192.168.1.8:10080': 
Counting objects: 3, done.
Writing objects: 100% (3/3), 206 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://192.168.1.8:10080/gogs/gogs.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

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

CentOS 7 安装gogs git代码服务器

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这