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