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

2022-03-28 13:56:34 字數 2783 閱讀 4134

最近在學習ci/cd的一些方案,個人比較青睞容器化輕量級。ci方面一開始是想使用gitlab的,但是發現我自己買的伺服器配置太低,記憶體根本不夠(大寫的尷尬)。所以採用更輕量級的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`

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

最近在學習ci/cd的一些方案,個人比較青睞容器化輕量級。ci方面一開始是想使用gitlab的,但是發現我自己買的伺服器配置太低,記憶體根本不夠(大寫的尷尬)。所以採用更輕量級的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`

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

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的資源相互不可見,彼此之間無法通訊。假如我們的物理機...