第一次寫技術類文章,有錯誤地方但願大佬可以指正。
最近有朋友問我安裝gitlab的一些問題,我回他能夠去百度,教程應該不少,實在不行直接寶塔界面圖形化安裝也方便省事。以前公司一直用的gitlab來進行代碼託管,我的在使用gitlab時候感受大而全,可是對服務器弊端也明顯,消耗資源過多,2G內存不建議安裝。本身也找了下替代品,gogs是一個不錯的選擇,比gitlab「輕」了不少。本篇文章在docker下安裝gogs,適合於新手。html
1、docker
以前沒有玩過docker,看了會菜鳥教程,心想既然是寫給新手的,仍是寫一下
機器是1核2G,CentOS7.4,看了下docker版本比較新,不須要下載mysql
[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,可是不少人可能會沒有,本身找一個linux
[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 dockergit
[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 ~]#
2、gogs鏡像
一、建立本地目錄
mkdir -p /var/gogsweb
[root@izuf8jscryli5qtizlvbgpz ~]# mkdir -p /var/gogs
二、拉取gogs鏡像
docker pull gogs/gogssql
[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
三、查看鏡像,這時候尚未啓動gogsdocker
[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
四、初始化運行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 以前建立的目錄,數據存儲在宿主主機json
注意:
1.這裏記得在阿里雲後臺把10080端口打開,後面訪問的是這個端口,端口並不是固定,本身能夠更改。運行後也可更改,詳細百度docker相關知識。
2.docker run 初始化運行以後不要再使用 會再重置到配置頁面centos
五、中止與啓動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 ~]#
3、gogs配置
一、數據庫新建gogs
因爲沒有在docker裏安裝mysql,直接宿主主機mysql裏面新建數據庫gogs
二、gogs頁面配置
下面就到了登陸頁面,本身能夠註冊下
後面就能夠新建倉庫等等操做,不過這裏有一點要注意,那就是若是是ssh免密登陸記得帶上本地的公鑰
這裏是第一次使用docker,感受安裝gogs起來也很簡單。安裝後的常規操做就不講了。