最近在學習ci/cd的一些方案,個人比較青睞容器化輕量級。ci方面一開始是想使用gitlab的,但是發現我自己買的伺服器配置太低,記憶體根本不夠(大寫的尷尬)。所以採用更輕量級的gogs,我真的很懶,只有在遇到挫折了才會想著把它記下來,平時很多時候都是沒有做筆記的習慣的(吱吱)。這次之所以寫這篇筆記,是因為部署gogs過程遇到了幾個小坑,浪費了我不少時間,所以希望能幫助到大家,不要走這樣的坑~~言歸正傳
環境搭建過程
1 # !/bin/bash簡單說明下,埠對映我跟網上大部分帖子一樣,都是對映到10080和10022埠,和mysql的連線方式還是使用docker的自定義網絡卡backend,其他的資料卷自己根據需要對映下唄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
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`
最近在學習ci/cd的一些方案,個人比較青睞容器化輕量級。ci方面一開始是想使用gitlab的,但是發現我自己買的伺服器配置太低,記憶體根本不夠(大寫的尷尬)。所以採用更輕量級的gogs,我真的很懶,只有在遇到挫折了才會想著把它記下來,平時很多時候都是沒有做筆記的習慣的(吱吱)。這次之所以寫這篇筆記,是因為部署gogs過程遇到了幾個小坑,浪費了我不少時間,所以希望能幫助到大家,不要走這樣的坑~~言歸正傳
環境搭建過程
1 # !/bin/bash簡單說明下,埠對映我跟網上大部分帖子一樣,都是對映到10080和10022埠,和mysql的連線方式還是使用docker的自定義網絡卡backend,其他的資料卷自己根據需要對映下唄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
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`
docker修改容器gogs時區時間
公司內部搭建了乙個gogs git,是用docker部署的,但是發現提交的 什麼的時間跟伺服器時間不一致 提交上去的世界是utc時間不是中國的時間cst,相當於慢了8個小時 1 docker容器內的時區是utc 2 伺服器的時區是cts 一開始以為是gogs配置檔案問題,最好發現原來是docker容...
docker容器虛擬化
network namespace 是 linux 核心提供的功能,是實現網路虛擬化的重要功能,它能建立多個隔離的網路空間,它們有獨自網路棧資訊。不管是虛擬機器還是容器,執行的時候彷彿自己都在獨立的網路中。而且不同network namespace的資源相互不可見,彼此之間無法通訊。假如我們的物理機...
Docker容器虛擬化
network namespace 是 linux 核心提供的功能,是實現網路虛擬化的重要功能,它能建立多個隔離的網路空間,它們有獨自網路棧資訊。不管是虛擬機器還是容器,執行的時候彷彿自己都在獨立的網路中。而且不同network namespace的資源相互不可見,彼此之間無法通訊。假如我們的物理機...