博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Docker部署Gitlab
阅读量:6196 次
发布时间:2019-06-21

本文共 2547 字,大约阅读时间需要 8 分钟。

由于公司的代码server已使用搭建,但由于用户和权限管理太麻烦。

如今想在原有server上再搭建,使用Gitlab官方方法直接安装。
会导致与Gitosis冲突,使得Gitosis不可用,
由于要保持两个服务同一时候存在。所以就想到利用Docker来搭建Gitlab。

下面以Ubuntu 14.04为例安装Docker和Gitlab

安装Docker

在bash中输入命令安装最新的docker

sudo apt-get purge docker.iocurl -s https://get.docker.io/ubuntu/ | sudo shsudo apt-get updatesudo apt-get install lxc-docker

下载镜像

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

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

启动redis

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

启动mysql

mkdir -p /opt/gitlab/mysqldocker 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/logdocker 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了

假设是在server上搭建。请替换localhost为server地址

增加开机启动

增加/etc/rc.local

echo 'docker start gitlab_redis' >> /etc/rc.localecho 'docker start gitlab_mysql' >> /etc/rc.localecho '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/nsentersudo docker-enter gitlab

备份和恢复gitlab

  • 备份
docker stop gitlab && docker rm gitlabdocker run --name=gitlab -it --rm [OPTIONS] \  sameersbn/gitlab:latest app:rake gitlab:backup:create
  • 恢复
docker stop gitlab && docker rm gitlabdocker 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 gitlabdocker 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

本文作者:

本文出处:
转载请在开头注明本文出处。

欢迎关注我的微信公众号,分享Swift开发。Android 开发和互联网内容

微信号:

你可能感兴趣的文章
死锁产生的原因及四个必要条件
查看>>
CSS3----background:-webkit-gradient()渐变效果
查看>>
前后端分离了,然后呢?(转)
查看>>
【iCore3 双核心板_ uC/OS-III】例程十一:任务消息队列
查看>>
C#的delegate简单练习
查看>>
【301】IDL与C#混合编程
查看>>
分治法应用之一——Strassen矩阵乘法(转)
查看>>
linux-diff命令
查看>>
必须关注的25位知名JavaScript开发者
查看>>
linq直接执行sql语句
查看>>
POJ - 1170 Shopping Offers (五维DP)
查看>>
python的内存管理机制
查看>>
hdu 5093 二分匹配
查看>>
a erlang crawler
查看>>
无聊,只发两张图……
查看>>
高考前
查看>>
日本一名高龄男子开车冲上人行道 造成共7人受伤
查看>>
[贝聊科技]谈谈 iOS 如何动态切换 APP 的主题
查看>>
如何克服解决Git冲突的恐惧症?(序)
查看>>
阿武老师百搭傲娇句式
查看>>