码迷,mamicode.com
首页 > 其他好文 > 详细

使用Docker部署Gitlab

时间:2017-07-10 22:08:33      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:with   gif   backup   ade   .so   步骤   parent   exe   line   

由于公司的代码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开发人员技术分享

使用Docker部署Gitlab

标签:with   gif   backup   ade   .so   步骤   parent   exe   line   

原文地址:http://www.cnblogs.com/gavanwanggw/p/7147496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!