设为首页 收藏本站
查看: 1193|回复: 0

[经验分享] 使用Docker部署Gitlab

[复制链接]

尚未签到

发表于 2018-1-10 19:48:56 | 显示全部楼层 |阅读模式
  由于公司的代码server已使用Gitosis搭建,但由于用户和权限管理太麻烦。
  
如今想在原有server上再搭建Gitlab,使用Gitlab官方方法直接安装。
  
会导致与Gitosis冲突,使得Gitosis不可用,
  
由于要保持两个服务同一时候存在。所以就想到利用Docker来搭建Gitlab。
  下面以Ubuntu 14.04为例安装Docker和Gitlab
安装Docker
  在bash中输入命令安装最新的docker
  

  

  

  

sudo apt-get purge docker.io  
curl -s https://get.docker.io/ubuntu/ | sudo sh
  
sudo apt-get update
  
sudo apt-get install lxc-docker
  

  

  

  

下载镜像
  下面脚本会下载gitlab,mysql,redis镜像
  

  

  

  

docker pull sameersbn/gitlab:latest  
docker pull sameersbn/mysql:latest
  
docker pull sameersbn/redis:latest
  

  

  

  

启动redis
  

  

  

  

docker run \  --name=gitlab_redis \
  -tid \
  sameersbn/redis:latest
  

  

  

  

启动mysql
  

  

  

  

mkdir -p /opt/gitlab/mysql  
docker run \
  --name=gitlab_mysql \
  -tid \
  -e 'DB_NAME=gitlabhq_production' \
  -e 'DB_USER=gitlab' \
  -e 'DB_PASS=password' \
  -v /opt/gitlab/mysql:/var/lib/mysql \
  sameersbn/mysql:latest
  

  

  

  

启动gitlab
  

  

  

  

mkdir -p /opt/gitlab/data /opt/gitlab/log  
docker run \
  --name='gitlab' \
  -itd \
  --link gitlab_mysql:mysql \
  --link gitlab_redis:redisio \
  -e 'GITLAB_PORT=80' \
  -e 'GITLAB_SSH_PORT=22' \
  -p 10022:22 -p 10080:80 \
  -v /var/run/docker.sock:/run/docker.sock \
  -v $(which docker):/bin/docker \
  -v /opt/gitlab/data:/home/git/data \
  -v /opt/gitlab/log:/var/log/gitlab \
  sameersbn/gitlab:latest
  

  

  这一步骤会耗时几分钟,由于这一步会做一些初始化操作,我们能够通过docker logs gitlab来查看安装过程。
  
我们指定了10022作为ssh的訪问port,10080作为http的訪问port,
  运行完后,略微过1-2分钟后,打开下面地址应该就能够訪问gitlab了
  
http://localhost:10080
  
假设是在server上搭建。请替换localhost为server地址
增加开机启动
  增加/etc/rc.local
  

  

  

  

echo 'docker start gitlab_redis' >> /etc/rc.local  
echo 'docker start gitlab_mysql' >> /etc/rc.local
  
echo 'docker start gitlab' >> /etc/rc.local
  

  

  

  

怎样进入docker中的server

  • 假设使用的时1.3.0版本号以上的Docker,使用下面命令:
  

  

  

  

docker exec -it gitlab bash  

  


  • 假设是使用更老的版本号,使用下面命令:
  

  

  

  

docker run --rm --volume=/usr/local/bin:/target jpetazzo/nsenter  
sudo docker-enter gitlab
  

  

  

  

备份和恢复gitlab

  • 备份
  

  

  

  

docker stop gitlab && docker rm gitlab  
docker run --name=gitlab -it --rm [OPTIONS] \
  sameersbn/gitlab:latest app:rake gitlab:backup:create
  

  


  • 恢复
  

  

  

  

docker stop gitlab && docker rm gitlab  
docker run --name=gitlab -it --rm [OPTIONS] \
  sameersbn/gitlab:latest app:rake gitlab:backup:restore
  

  

  

  

升级gitlab

  • 又一次pull gitlab镜像
  

  

  

  

docker pull sameersbn/gitlab:7.11.4  

  


  • 停止和删除当前的gitlab进程
  

  

  

  

docker stop gitlab  
docker rm gitlab
  

  


  • 又一次启动gitlab
  

  

  

  

docker run \  --name='gitlab' \
  -itd \
  --link gitlab_mysql:mysql \
  --link gitlab_redis:redisio \
  -e 'GITLAB_PORT=80' \
  -e 'GITLAB_SSH_PORT=22' \
  -p 10022:22 -p 10080:80 \
  -v /var/run/docker.sock:/run/docker.sock \
  -v $(which docker):/bin/docker \
  -v /opt/gitlab/data:/home/git/data \
  -v /opt/gitlab/log:/var/log/gitlab \
  sameersbn/gitlab:latest
  

  

  本文作者: 阳春面
  本文出处:http://www.aswifter.com/2015/06/14/gitlab-with-docker/
  转载请在开头注明本文出处。
  欢迎关注我的微信公众号,分享Swift开发。Android 开发和互联网内容
  微信号:APP开发人员 DSC0000.gif


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433680-1-1.html 上篇帖子: gitlab 6 安装备忘录 下篇帖子: gitlab 接入 openldap、AD
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表