gitlab太重不好用?docker搭建gogs服務器,適合新手。

第一次寫技術類文章,有錯誤地方希望大佬能夠指正。
最近有朋友問我安裝gitlab的一些問題,我回他可以去百度,教程應該很多,實在不行直接寶塔界面圖形化安裝也方便省事。之前公司一直用的gitlab來進行代碼託管,個人在使用gitlab時候感覺大而全,但是對服務器弊端也明顯,消耗資源過多,2G內存不建議安裝。自己也找了下替代品,gogs是一個不錯的選擇,比gitlab“輕”了很多。本篇文章在docker下安裝gogs,適合於新手。

一、docker
之前沒有玩過docker,看了會菜鳥教程,心想既然是寫給新手的,還是寫一下
機器是1核2G,CentOS7.4,看了下docker版本比較新,不需要下載

[root@izuf8jscryli5qtizlvbgpz ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@izuf8jscryli5qtizlvbgpz ~]# docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:23:03 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:25:29 2018
  OS/Arch:          linux/amd64
  Experimental:     false

如果是舊版本的docker,記得先移出再安裝,具體可以看看centos安裝docker
這裏說一下鏡像加速,這臺機器重新安裝docker給了daemon.json.rpmsave,但是很多人可能會沒有,自己找一個

[root@izuf8jscryli5qtizlvbgpz ~]# ll /etc/docker
total 12
-rw-r--r-- 1 root root  67 Oct  3 20:36 daemon.json
-rw-r--r-- 1 root root  67 Jun  1 18:10 daemon.json.rpmsave
-rw------- 1 root root 244 Jun  1 18:10 key.json
[root@izuf8jscryli5qtizlvbgpz ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://xxxxxxxxxxx自己找xxxxxxxxxx.aliyuncs.com"]
}

docker啓動與停止
systemctl start docker
systemctl stop docker

[root@izuf8jscryli5qtizlvbgpz ~]# systemctl stop docker
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[root@izuf8jscryli5qtizlvbgpz ~]# systemctl start docker
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@izuf8jscryli5qtizlvbgpz ~]# 

二、gogs鏡像
1、創建本地目錄
mkdir -p /var/gogs

[root@izuf8jscryli5qtizlvbgpz ~]# mkdir -p /var/gogs

2、拉取gogs鏡像
docker pull gogs/gogs

[root@izuf8jscryli5qtizlvbgpz ~]# docker pull gogs/gogs
Using default tag: latest
latest: Pulling from gogs/gogs
4fe2ade4980c: Pull complete 
a7b9945218f9: Pull complete 
bf4b8ed375d0: Pull complete 
803da33237d7: Pull complete 
57e8f128435e: Pull complete 
089a14e63d5d: Pull complete 
2c685a35c099: Pull complete 
7fa60038a9fc: Pull complete 
303546907140: Pull complete 
f6ca78318eb9: Pull complete 
Digest: sha256:53cb40f1c90b0bfba78d059c9f547513989d92001ede4b4ce9a4219199c39d36
Status: Downloaded newer image for gogs/gogs:latest

3、查看鏡像,這時候還沒有啓動gogs

[root@izuf8jscryli5qtizlvbgpz ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
gogs/gogs           latest              bd66c686064b        3 weeks ago         91.8MB
hello-world         latest              4ab4c602aa5e        4 weeks ago         1.84kB
elasticsearch       latest              671bb2d7da44        4 months ago        486MB
kibana              latest              006eb7921543        5 months ago        389MB
training/webapp     latest              6fae60ef3446        3 years ago         349MB
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS   

4、初始化運行gogos

[root@izuf8jscryli5qtizlvbgpz ~]# docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
673ad1e400541e5cf3b15624ac3cd97287b4ad5edefbd6c02d6a9e8c66083c11
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
673ad1e40054        gogs/gogs           "/app/gogs/docker/st…"   5 seconds ago       Up 4 seconds        0.0.0.0:10022->22/tcp, 0.0.0.0:10080->3000/tcp   gogs

參數:
-d 後臺運行
--name 定義容器名稱
-p 這裏兩個-p是容器和宿主主機的端口映射
-v 之前創建的目錄,數據存儲在宿主主機

注意:
1.這裏記得在阿里雲後臺把10080端口打開,後面訪問的是這個端口,端口並非固定,自己可以更改。運行後也可更改,詳細百度docker相關知識。
2.docker run 初始化運行之後不要再使用 會再重置到配置頁面

5、停止與啓動gogs
CONTAINER ID 容器id 這id初始化後會變
name 容器名稱
停止和啓動使用id和name都可以,這裏推薦使用name
docker stop gogs
docker start gogs
docker stop 673ad1e40054
docker start 673ad1e40054

[root@izuf8jscryli5qtizlvbgpz ~]# docker stop gogs
gogs
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@izuf8jscryli5qtizlvbgpz ~]# docker start gogs
gogs
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
673ad1e40054        gogs/gogs           "/app/gogs/docker/st…"   8 minutes ago       Up 3 seconds        0.0.0.0:10022->22/tcp, 0.0.0.0:10080->3000/tcp   gogs
[root@izuf8jscryli5qtizlvbgpz ~]# docker stop 673ad1e40054
673ad1e40054
[root@izuf8jscryli5qtizlvbgpz ~]# docker start 673ad1e40054
673ad1e40054
[root@izuf8jscryli5qtizlvbgpz ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
673ad1e40054        gogs/gogs           "/app/gogs/docker/st…"   9 minutes ago       Up 5 seconds        0.0.0.0:10022->22/tcp, 0.0.0.0:10080->3000/tcp   gogs
[root@izuf8jscryli5qtizlvbgpz ~]# 

三、gogs配置
1、數據庫新建gogs
由於沒有在docker裏安裝mysql,直接宿主主機mysql裏面新建數據庫gogs
2、gogs頁面配置
圖片描述

圖片描述

下面就到了登錄頁面,自己可以註冊下

圖片描述

後面就可以新建倉庫等等操作,不過這裏有一點要注意,那就是如果是ssh免密登錄記得帶上本地的公鑰
圖片描述

這裏是第一次使用docker,感覺安裝gogs起來也很簡單。安裝後的常規操作就不講了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章