基于Docker部署GitLab环境搭建

一、前言

       gitlab是一款居于git的具有丰富界面管理的项目版本控制工具。

二、环境搭建

     2.1 通过docker下载镜像

[root@docker etc]# docker search gitlab
INDEX       NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/gitlab/gitlab-ce                             GitLab Community Edition docker image base...   2642                 [OK]
docker.io   docker.io/sameersbn/gitlab                             Dockerized gitlab web server                    1133                 [OK]
docker.io   docker.io/gitlab/gitlab-runner                         GitLab CI Multi Runner used to fetch and r...   548                  [OK]
docker.io   docker.io/twang2218/gitlab-ce-zh                       汉化的 GitLab 社区版 Docker Image                     197                  [OK]
##这了我直接下载第一个
[root@docker etc]# docker pull gitlab/gitlab-ce

     2.2 创建容器,并运行

1.创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
[root@docker etc]# mkdir -p /mnt/gitlab/etc
[root@docker etc]# mkdir -p /mnt/gitlab/log
[root@docker etc]# mkdir -p /mnt/gitlab/data

2.运行容器
[root@docker etc]# docker run -di\
    --detach \
    --publish 8443:443 \
    --publish 8090:80 \   ## 注意,要保证这些端口都是没有被占用,可以先是用netstat -tnlp查看
    --name gitlab \
    --restart unless-stopped \
    -v /mnt/gitlab/etc:/etc/gitlab \
    -v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
--privileged=true\
beginor/gitlab-ce

   2.3 停止容器,配置gitlab

在创建容器的同是,使用了-v选项,对容器目录和本地目录进行了映射
1.修改配置文件gitlab.rb
[root@docker etc]# vim /mnt/gitlab/etc/gitlab.rb
添加如下内容,修改为自己机器的ip
external_url 'http://192.168.56.149'
2.修改配置文件
[root@docker etc]# vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
找到## Web server settings
修改配置
 host: 192.168.56.149
    port: 80
    https: false

3.重启容器

至此gitlab已经配置完毕,在上面的安装过程中,遇到过一个坑,我的80端口被httpd一直占用着,导致我启动的时候启动失败

解决办法就是直接将httpd卸载即可

三、测试

访问地址:http://192.168.56.149:8090/

如果出现502错误,有可能是你的服务器性能不行,我用虚拟机测试老是出现这个错误,硬件不太行啊,比较吃CPU和内存,这里只能多等会儿再刷新就好了。

 

四、gitlab的基本使用,有点类似于马云的使用,只不过它是本地安装

0.安装完毕后,第一次访问首页,直接弹出一个需要设置密码的界面,这个界面就是为root 用户设置初始化密码的

1.普通用户创建时自己注册的,通过访问首页自己注册(这类用户,创建后是不能直接访问服务端的,需要root用户添加到指定项目中才可以使用)

2.简单的使用流程:root登录创建项目---->使用eclipse上传项目----->其它用户自己注册用户----->root用过将用户添加到项目----->开始开发了,客户端使用git

 

 

 

你可能感兴趣的:(gitlab)