自助搭建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點容易出錯。