免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1643 | 回复: 0

[Docker] 如何部署docker-gitlab的具体步骤 [复制链接]

论坛徽章:
18
IT运维版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-30 21:19:06IT运维版块每日发帖之星
日期:2016-06-29 06:20:00每日论坛发贴之星
日期:2016-06-28 06:20:00IT运维版块每日发帖之星
日期:2016-06-28 06:20:00数据库技术版块每日发帖之星
日期:2016-06-23 06:20:00每日论坛发贴之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-22 06:20:00IT运维版块每日发帖之星
日期:2016-06-21 06:20:00wusuopu
日期:2016-06-17 17:43:45IT运维版块每日发帖之星
日期:2016-06-16 06:20:00IT运维版块每日发帖之星
日期:2016-06-15 06:20:00
发表于 2016-06-29 01:12 |显示全部楼层
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:
最快的启动方式是使用docker-compose:
1
        # wget https://raw.githubusercontent.co ... /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
登陆进去之后修改密码就可以进行项目管理了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP