之前公司里的代码都是托管到局域网服务器上的,现在由于部分同事远程办公的需要,计划把git和svn都转到公网的centos服务器上去,但是gitlab的配置是真心费时间,所以决定用docker来做这个事情,以下是一些步骤和总结
使用daocloud给docker加个速先…
可以通过这个链接里面的命令给docker改个源,不然速度慢死…
gitlab安装
- 拉取镜像 1docker pull gitlab/gitlab-ce:latest
- 新建授权用户 1useradd -d /home/gitlab -s /bin/sh -m gitlab
- 后台运行容器,指定域名,端口映射关系,目录映射关系,将容器命名为gitlab,方便后续操作 1 2 3 4 5 6 7 8 9docker run --detach --hostname git.vcs.trycheers.com --publish 10443:443 --publish 10080:80 --publish 10022:22 --name gitlab --restart always --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
- 用apache对
10080
端口进行反代,使之能够通过域名访问 1 2 3 4 5 6<VirtualHost *:80> ServerName hostname ProxyPreserveHost On ProxyPass / http://localhost:10080/ ProxyPassReverse / http://localhost:10080/ </VirtualHost>
svn安装
- 后台运行容器,指定端口映射关系,目录映射关系,将容器命名为svn,方便后续操作 1docker run -d -p 9200:80 -p 9201:443 -v /home/subversion/svn:/var/local/svn -v /home/subversion/svn_backup:/var/svn-backup -v /home/subversion/svn_conf/:/etc/apache2/dav_svn/ --name svn marvambass/subversion
- 添加svn用户 1htdigest /home/subversion/svn_conf/dav_svn.passwd Subversion username
- 修改仓库/分组/用户权限
直接编辑
/home/subversion/svn_conf/dav_svn.authz
- 用apache对
9200
端口进行反代,使之能够通过域名访问 1 2 3 4 5 6<VirtualHost *:80> ServerName hostname ProxyPreserveHost On ProxyPass / http://localhost:9200/ ProxyPassReverse / http://localhost:9200/ </VirtualHost>
总结
gitlab在刚启动时会加载大量的环境依赖,因此可能出现cpu占用高的情况,根据服务器性能不同会持续一段时间,通常在cpu占用降至正常时才能访问到本地的gitlab项目