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

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

  Gitlab的docker化,找了些资料,后来发现其实人们早就已经做好了,并且在github上就有。最近学到了一个思想,”不重复造轮子“, 我这里简单照着文档做下总结。

  GitLab是利用 Ruby on Rails 一个开源的版本管理系统,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

  Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

安装docker:

1
# wget -qO- https://get.docker.com/ | sh

安装docker-gitlab:

安装对应版本的gitlab镜像:

1
# docker pull sameersbn/gitlab:8.5.5

如果想安装最新版,使用:

1
# docker pull sameersbn/gitlab:latest

启动gitlab:

最快的启动方式是使用

1
# wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml

yml文件里存放了相应服务的配置,可根据情况更改;可以使用如下命令生成一个64位是随机字符串,用于GITLAB_SECRETS_DB_KEY_BASE

1
2
# pwgen -Bsv1 64
qs7KxxMx3wrWpFMH3CxFpbnCNHPfxsxcgRTJcNMgjMJhwLfvmh4HrmwKc4mMcRc7
1
    
- GITLAB_SECRETS_DB_KEY_BASE=qs7KxxMx3wrWpFMH3CxFpbnCNHPfxsxcgRTJcNMgjMJhwLfvmh4HrmwKc4mMcRc7

另外docker-gitlab默认使用/home/git/data这个目录用来存放提交上来的代码,我修改成了自己的路径:

1
2
volumes:
    
/srv/docker/gitlab/gitlab
:
/data/code

启动gitlab,这个过程需要等待一段时间:

1
# docker-compose up


执行完成之后查看启动结果:

1
2
3
4
5
root@gitlab:~
# docker ps -a 
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                                                   NAMES
aefaf4098b00        sameersbn
/gitlab
:8.5.5        
"/sbin/entrypoint.sh "   
13 hours ago        Up 13 hours         443
/tcp
, 0.0.0.0:10022->22
/tcp
, 0.0.0.0:10080->80
/tcp   
root_gitlab_1
a8ed7a4dd879        sameersbn
/postgresql
:9.4-14   
"/sbin/entrypoint.sh"    
13 hours ago        Up 13 hours         5432
/tcp                                                
root_postgresql_1
a9e519dcb183        sameersbn
/redis
:latest        
"/sbin/entrypoint.sh"    
13 hours ago        Up 13 hours         6379
/tcp                                                
root_redis_1

如果不用docker-compose的方式,也可以手动 launch:

1、启动postgresql:

1
2
3
4
5
docker run --name gitlab-postgresql -d \
    
--
env 
'DB_NAME=gitlabhq_production' 
\
    
--
env 
'DB_USER=gitlab' 
--
env 
'DB_PASS=password' 
\
    
--volume 
/srv/docker/gitlab/postgresql
:
/var/lib/postgresql 
\
    
sameersbn
/postgresql
:9.4-14

2、启动redis:

1
2
3
docker run --name gitlab-redis -d \
    
--volume 
/srv/docker/gitlab/redis
:
/var/lib/redis 
\
    
sameersbn
/redis
:latest

3、启动gitlab:

1
2
3
4
5
6
7
docker run --name gitlab -d \
    
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
    
--publish 10022:22 --publish 10080:80 \
    
--
env 
'GITLAB_PORT=10080' 
--
env 
'GITLAB_SSH_PORT=10022' 
\
    
--
env 
'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' 
\
    
--volume 
/srv/docker/gitlab/gitlab
:
/home/git/data 
\
    
sameersbn
/gitlab
:8.5.5

上面的命令将使用10080作为Gitlab的Web访问端口,10022将作为ssh push和pull代码的端口。 在本地可以使用浏览器打开http://localhost:10080来访问Gitlab,初始登录网站使用root账户,用户名为root,密码为:5iveL!fe,登录后需要立即修改密码。

登陆:

http://localhost:10080

登陆进去之后修改密码就可以进行项目管理了~


      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1750968,如需转载请自行联系原作者

你可能感兴趣的文章
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
linux后台运行程序
查看>>
Python异步IO --- 轻松管理10k+并发连接
查看>>
Oracle中drop user和drop user cascade的区别
查看>>