Gogs的Docker容器化部署流程遇到的問題


Gogs的Docker容器化部署流程遇到的問題

 

  最近在學習CI/CD的一些方案,個人比較青睞容器化輕量級。CI方面一開始是想使用gitlab的,但是發現我自己買的服務器配置太低,內存根本不夠(大寫的尷尬)。所以采用更輕量級的Gogs,我真的很懶,只有在遇到挫折了才會想着把它記下來,平時很多時候都是沒有做筆記的習慣的(吱吱)。這次之所以寫這篇筆記,是因為部署Gogs過程遇到了幾個小坑,浪費了我不少時間,所以希望能幫助到大家,不要走這樣的坑~~言歸正傳

 

環境搭建過程

1. 安裝部署gogs很簡單,網上一大堆帖子,這里不再贅述,簡單發下我啟動gogs的命令吧:

 1 # !/bin/bash
 2 
 3 docker run -d \ 4 -p 10080:3000 \ 5 -p 10022:22 \ 6 --net backend \ 7 --name gogs \ 8 -v /data/docker/container/gogs/data:/data/gogs/data \ 9 -v /data/docker/container/gogs/conf:/data/gogs/conf \ 10 -v /data/docker/container/gogs/log:/data/gogs/log \ 11 gogs/gogs

簡單說明下,端口映射我跟網上大部分帖子一樣,都是映射到10080和10022端口,和mysql的連接方式還是使用docker的自定義網卡backend,其他的數據卷自己根據需要映射下唄

 

2. 啟動gogs后接下來就是訪問ip+10080端口,首次訪問會跳到配置頁面

 

 

 圖片是我從網上復制過來的,我使用的mysql是5.6版,所以mysql容器名我叫mysql56

 

3. 好了,正常情況下是可以了,接下來是我遇到的坑

  1. HTTP端口號這里的配置,我當時配置成10080,所以導致了每次容器重啟就會訪問不了,其實這里填的是docker內部的端口號3000!

  2. window7用戶,git在使用過程中,使用ssh方式拉取代碼,按照網上教程是將本地.ssh目錄的id_rsa.pub文件內容復制到gogs后台的安全密鑰中,但是還是提示沒有權限,后面發現我們需要啟動ssh代理並將密鑰添加到代理緩存中才可以:

  

eval `ssh-agent -s`   //window用戶才需要加eval
eval `ssh-add ~/id_rsa`

  然后就可以了,后續如果還有什么問題我再補充吧,我就遇到這兩個問題


免責聲明!

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



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