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