Docker+Gogs搭建我的Git服務

自助搭建git服務器, 採用gogs + docker 的方式是很是方便的。 可是在實際操做過程當中可能仍是遇到一些小問題, 這裏記錄下來方便其餘人查閱。mysql

前提條件:

mysql也是docker方式運行的:docker run --name mysql -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latestnginx

具體步驟:

1.  docker pull gogs/gogsgit

2.  mkdir -p /var/gogsweb

3.  docker run --name=gogs -p 10080:3000 -v /var/gogs:/data --link mysql:latest -d gogs/gogssql

4. 修改nginxdocker

server {
	listen 80;
	server_name git.xx.com;
	
	location / {
		proxy_pass http://127.0.0.1:10080;
	}
}

5. nginx -s reload數據庫

6. 登陸mysql建立數據庫: gogs瀏覽器

 

到此, 安裝過程基本完成了。 在瀏覽器裏面訪問 git.xx.com會跳轉到「首次運行安裝程序」。bash

 

這裏配置也很重要, 有幾個地方須要注意:服務器

1.  數據庫主機: 我這裏用的 mysql , 是由於我在docker啓動的時候用了--link參數, 因此在gogs 容器內會有:

bash-4.4# cat /etc/hosts
127.0.0.1	localhost
172.17.0.2	latest e2bbeb181f94 mysql

因此gogs能夠找到mysql的ip。 若是mysql是經過其餘方式部署的, 只須要保障gogs容器內能獲得mysql的鏈接就能夠了。

2. 域名: git.xx.com      跟nginx一致

3. SSH 端口號: 22       這個能夠不填寫

4. HTTP 端口號: 3000   這裏要填寫3000纔對. 有些人重啓容器後發現訪問不了git.xx.com了, 就是由於填寫了10080. 這個HTTP端口號是gogs web容器啓動時須要監聽的端口, 10080端口是主機與容器3000端口映射的,這裏不能填寫。 

5. 應用URL: http://git.xx.com

 

上面第1點和第4點容易出錯。

相關文章
相關標籤/搜索