使用Docker部署Gitlab
由于公司的代码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的更多相关文章
- Windows 下 docker 部署 gitlab ci
一.安装 1. 安装 docker Docker下载 注意:Windows 10 家庭版获取 之前的版本不能直接安装 Docker ,而是需要去安装 Docker Toolbox 我这里安装的是 Do ...
- docker部署gitlab
Docker部署gitlab 一.前提条件 (1) 存在docker (2) 服务器可以联网(外网) (3) 服务器内存至少4G(内存不够会出现502错误) 内存不足502错误 ...
- Docker 部署Gitlab
sudo docker run -d \ -h 192.168.16.88 \ -p 89:80 -p 23:22 \ --name gitlab \ --restart always \ --vol ...
- 用docker部署gitlab
docker hub官网下载gitlab速度太慢,改用国内镜像+中文版 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh ...
- docker部署gitlab服务
docker run -d -p : -p : -p : \ --name gitlab --restart always \ --volume /home/xxx/dockerData/gitlab ...
- Ubuntu 18.04 使用docker 部署gitlab并且使用自定义端口号
搭建原因 两个月前我搭建了公司的docker(无法自定义端口,),当初只想着把托管在GitHub的项目代码放在公司的服务器上面,后来忙着修改人脸服务器代码,忘记了,这个月由于领导提的需求比较多,还是托 ...
- 使用Docker快速部署Gitlab
使用Docker部署Gitlab 1. 下载gitlab镜像 docker pull gitlab/gitlab-ce 2. 运行gitlab实例 GITLAB_HOME=`pwd`/data/git ...
- docker 安装 gitlab
基于Docker部署GitLab环境搭建 建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 ...
- 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务
场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...
随机推荐
- Laravel 使用中间件进行权限控制
Laravel 使用中间件进行权限控制 飞凡的陀螺 关注 2018.01.24 17:45 字数 264 阅读 1138评论 0喜欢 1 先看 文档Laravel 中间件提供了一种方便的机制来过滤进入 ...
- CAD参数绘制圆弧(网页版)
在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧. 主要用到函数说明: _DMxDrawX::DrawArc2 由圆弧上的三点绘制一个圆弧.详细说明如 ...
- C 语言指针 5 分钟教程
指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里“引用”表示计算机内存地址.从指针指向的内存读取数据称作指针的取值.指针可以指向某些具 ...
- C++中的初始化列表
C++11扩大了列表初始化的适用范围,使其可以用于所有内置类型和用户定义的类型(即类对象). 1.当列表初始化用于内置类型的变量时,这种初始化形式有一个重要的特点:如果我们使用列表初始化且初始化值存在 ...
- 笔试算法题(10):深度优先,广度优先以及层序遍历 & 第一个仅出现一次的字符
出题:要求实现层序遍历二元搜索树,并对比BFS与DFS的区别 分析:层序遍历也就是由上至下,从左到右的遍历每一层的节点,类似于BFS的策略,使用Queue可以实现,BFS不能用递归实现(由于每一层都需 ...
- rownum导致sql不能进行谓词推入
背景 案件(13405_RI-再保结算查询导出太慢),造成性能慢的原因是执行以下sql时,每次执行平均需要消耗2秒, 画面上,点击一次导出按钮,就会发起数以百记的调用. SQL执行代码段 select ...
- 从PDF复制到word(换行问题)
当我们从pdf文档中复制一部分内容到word的时候,pdf的自动换行会自动给文字添加换行,也就是一个回车,让文字另起一行,这样粘贴到word中的时候,word中也会有很多换行符,排版比较麻烦,需要一个 ...
- hihoCoder#1109 最小生成树三·堆优化的Prim算法
原题地址 坑了我好久...提交总是WA,找了个AC代码,然后做同步随机数据diff测试,结果发现数据量小的时候,测试几十万组随机数据都没问题,但是数据量大了以后就会不同,思前想后就是不知道算法写得有什 ...
- [luoguP2444] [POI2000]病毒(AC自动机 + dfs)
传送门 先把所有串建一个AC自动机, 如果要找一个不包含任意一个串的串, 说明这个串一直在AC自动机上匹配但匹配不到, 也就是说,匹配时除去val值为1的点,除去fail指针指向val值为1的点,是否 ...
- [NOIP2008] 提高组 洛谷P1125 笨小猴
题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最 ...
