• 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器


    一、前言

    Git是目前优秀和流行的源代码管理工具。而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费。而公司出于商业化等目的需要搭建自己的源代码托管服务器。通过网上了解Gogs是一款不错git管理系统,而且是国内开源项目,今天我们就使用Gogs基于阿里云Linux CentOS 7 Docker部署搭建自己的git服务器。

    Gogs介绍(官网):https://gogs.io/

    参考官方部署:https://github.com/gogs/gogs/tree/master/docker

    二、步骤

    1、  购买一个阿里云服务器,系统选择Linux CentOS 7

    2、  docker安装

    yum install docker
    docker -v

    安装完毕后使用 docker -v 查看下版本号

    3、  启动docker

    systemctl start docker

    4、  安装gogs

    docker pull gogs/gogs

    使用docker pull gogs/gogs 把镜像下载下来

    5、  创建存储代码的仓库和配置文件所在的位置

    mkdir -p /var/gogs

    6、  使用docker 命令启动gogs

    docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

    其中10022映射的是docker中的22端口 10080映射的是http的3000端口,这个在我们启动的时候会使用到该配置,首次执行完成退出后需要重启

    7、  启动gogs

    docker start gogs
    docker ps

    docker ps查看启动状态

    8、  访问gogs,访问链接是ip+端口进行配置(注:阿里云需要在安全组规则配置入站规则,即服务器端口10080, ssh端口10022)

     注:HTTP端口号是指Gogs在Docker容器中侦听的端口,这里任然设置为3000,其它注意事项如下:

    大多数设置都很明显并且易于理解,但是通过在Docker内部运行Gogs,有些设置可能会令人困惑:

    • 存储库根路径:将其保留为默认值,/home/git/gogs-repositories因为start.sh已经为您建立了符号链接。
    • 运行用户:将其保留为默认值,git因为finalize.sh已经使用名称设置了用户git。
    • 域:填写Docker容器IP(例如192.168.99.100)。但是,如果要从其他物理机访问Gogs实例,请填写Docker主机的主机名或IP地址。
    • SSH端口:使用Docker容器中公开的端口。例如,您的SSH服务器22在Docker内部监听,但是您通过公开了它10022:22,然后将其10022用于此值。不建议在Docker Container中使用内置SSH服务器
    • HTTP端口:使用您希望Gogs在Docker容器中侦听的端口。例如,您的Gogs 3000在Docker内部进行侦听,并通过公开了它10080:3000,但您仍使用3000该值。
    • 应用程序URL:使用域和公开的HTTP端口值(例如http://192.168.99.100:10080/)的组合。

    更多详细见官方文档说明:https://github.com/gogs/gogs/tree/master/docker

     9、配置后运行

      

    访问成功

     10、  创建仓库测试

    服务器搭建成功,创建了一个私有 和 公开的仓库

     

    11、Centos7.2重启后用docker start gogs异常 

    如遇到类似问题请查看:https://discuss.gogs.io/t/centos7-2-docker-start-gogs/483

    三、参考资源

    阿里云图文教程(本次搭建参考此教程):

    https://www.aliyun.com/jiaocheng/120285.html?spm=5176.100033.0.0.jZ1hRY

    阿里云教程使用MySQL:

    https://www.aliyun.com/jiaocheng/125112.html?spm=5176.100033.0.0.jZ1hRY

    git使用教程:

    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    Gogs使用文档:

    https://gogs.io/docs

  • 相关阅读:
    shell脚本中判断上一个命令是否执行成功
    nginx 414 Request-URI Too Large
    nginx 重写URL尾部斜杠
    Linux shell 日期,时间相关的命令
    shell脚本中自定义日志记录到文件
    scanf后面跟一个getchar
    1.Tarball软件make与makefile详解(还需要补充)
    <>和“”的区别
    malloc,calloc,realloc,alloc
    toString()方法细节
  • 原文地址:https://www.cnblogs.com/donaldtdz/p/8443516.html
Copyright © 2020-2023  润新知