阿里雲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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM