1. 程式人生 > >linux上Docker安裝gogs私服親測(詳解)

linux上Docker安裝gogs私服親測(詳解)

一、前言

  有網友問我為什麼要使用私服,可能大部分人都不是太懂,網上那麼多儲存倉庫而且好用方便,但是你想過沒有如果企業中的專案,放在人家的倉庫上這個安全性不是太好,所以說一般企業都會有自己的私服。本章教程結合安裝Docker+Mysql5.7+gogs搭建私服,系統採用centos 7,教程基本上很全面,搭建過程中,可能會遇到問題,教大家些技巧,首先把報錯複製到百度上看一下,如果實在是找不到問題,翻到此文章最下面。

二、背景介紹  

 

   Gogs 是一款類似GitHub的開原始檔/程式碼管理系統(基於Git),Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。使用 Go 語言開發使得 Gogs 能夠通過獨立的二進位制分發,並且支援 Go 語言支援的 所有平臺,包括 Linux、Mac OS X、Windows 以及 ARM 平臺。

三、安裝Docker環境

1.安裝docker,由於Docker限制分為兩個版本CE和EE,所以之前yum裡面的docker是老版本,需要先進行解除安裝,現在的包名

執行命令:

 sudo yum remove docker \
 docker-common \
 docker-selinux \
 docker-engine

 圖例:

2.安裝依賴的庫:yum-utils、yum-config-manager、device-mapper-persistent-data、lvm2、devicemapper 注意:安裝Docker CE,你能夠通過不同的方式來安裝DockerCE,取決於你的需要。通過倉庫來安裝docker,當你在一臺新的機器上第一次安裝docker之前,你需要去設定一下你的Docker倉庫,之後你才能夠安裝或者更新Docker從倉庫中

執行命令:

命令列:sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

 圖例:

 3.使用下列的命令去設定stable倉庫,你大部分使用的是stable版本的倉庫,不過你想安裝編譯從edge或者test版本也是沒有問題的

執行命令:

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

 圖例:

 4.選項:允許edge和test的參控股,他們的倉庫資源是包含在docker.repo上面的,檔案包含,但是預設配置是能夠獲取的,你需要用通過命令開啟,然後能夠和stable版本一起使用

執行命令:

sudo yum-config-manager --enable docker-ce-edge

 圖例:

 執行命令:

sudo yum-config-manager --enable docker-ce-test

 圖例:

也能夠通過yum-config-manager的命令--disable來開啟和關閉對應的edge倉庫和test倉庫

 執行命令:

sudo yum-config-manager --disable docker-ce-edge

5.安裝最新版本的Docker CE或者按安裝特殊版本

 執行命令:

sudo yum install docker-ce

 圖例:

6.啟動docker

 執行命令:

sudo systemctl start docker

 圖例:

7.檢視是否啟動成功

 執行命令:

systemctl status docker

 圖例:

8.解除安裝docker 第一步:解除安裝docker包,第二步:刪除你的映象、容器、磁碟、以及相關的配置檔案在你電腦上不會自動刪除,通過命令列刪除的映象、容器、檔案

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

9.啟動關閉Docker命令

1.啟動docker,命令:systemctl start docker
2.驗證docker是否啟動成功,命令:dockers version
3.重啟docker,命令:systemctl restart docker
4.關閉docker,命令:systemctl stop docker END

 

四、Docker 安裝mysql

1.查詢Mysql的可用映象

 執行命令:

docker search mysql

 圖例:

 二、拉取Mysql5.7映象

 執行命令:

docker pull mysql:5.7

 圖例:

 3.檢視docker 映象內是否存在Mysql5.7

 執行命令:

docker images

 

 圖例:

 4.啟動mysql,--name 是名字隨意,後面有啟動的mysql密碼

 執行命令:

docker run -di --name=mymysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

 

 5.檢視mysql 是否啟動成功 

 執行名命令:

docker ps -l

 

 圖例:

 五、Docker安裝gogs

1.拉取gogs映象:   

執行命令:

docker pull gogs/gogs

 

圖例:

 2.檢視是否拉取成功

執行命令:

docker images

 

圖例:

 3.建立物理目錄:

執行命令:

mkdir -p /var/gogs

 

圖例:

 4.啟動gogs

執行命令:

docker run --name=mygogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

 

圖例:

六、gogs配置 

1.安裝gogs成功後,訪問地址:自己的ip:10080

圖例:

 

 

2.初始話安裝配置

圖例1:

 

 

 

 

 

 

圖例2:

 

 

 

 

 

 

 

圖例3:

 3.到此恭喜你已經安裝成功了,可以盡情的使用了。

 七、常見問題

1.安裝gogs,pull拉不下來或者docker的Get https://registry-1.docker.io/v2/: net/http: request canceled 報錯 ,可以看下這個詳解:https://blog.csdn.net/laogouhuli/article/details/92987525  

2.安裝成功後配置無法提交報:提示資料庫設定不正確:dial tcp 192.168.0.18:3306: getsockopt: no route to host  

解決方案:

關閉防火牆

[root@localhost ~]# vim /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="dhcpv6-client"/>
  <service name="ssh"/>
  <port protocol="tcp" port="443"/>
  <port protocol="tcp" port="22"/>
  <port protocol="tcp" port="21"/>
  <port protocol="udp" port="53"/>
  <port protocol="tcp" port="8081"/>
  <port protocol="tcp" port="8080"/>
  <port protocol="tcp" port="80"/>
  <port protocol="tcp" port="9090"/>
  <port protocol="tcp" port="2222"/>
  <port protocol="tcp" port="3306"/>
</zone>

[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# 

八、關於作者:

1.如果有任何不懂的地方可以諮詢我,隨時歡迎互相幫助。

2.技術交流群:422167709。

3.圖解不易,開啟微信掃碼幫忙關注一下,學習更多的知識,舉手之勞,感謝您關注公眾號 "程式設計小樂"。

&n