持续集成【1】-> Docker -- Gitlab

  • 拉取gitlab镜像

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce

 


  • 在宿主机创建挂载文件目录

·  linux:在宿主机器 创建 存储 gitlab 相关文件的文件夹

# 切换root用户
$ su root
# 创建文件夹
$ mkdir /myDocker
# 修改文件夹权限
$ chown -R [user] /myDocker
# 退出root用户
$ exit

# 以下非root用户操作
$ cd /mydocker
$ mkdir config
$ mkdir logs
$ mkdir data

·  mac:系统不建议挂载根目录系统文件,所以在用户目录下创建挂载文件夹

# 使用非root用户
$ cd ~
# 创建文件夹
$ mkdir myDocker
$ cd mydocker
$ mkdir config
$ mkdir logs
$ mkdir data

 


  • 运行 

pass:以mac操作系统进行 

  ·  第一种:run运行

$ docker run -d  -p 8443:443 -p 8090:80 -p 222:22 --name gitlab --restart always -v /Users/xxx/myDocker/gitlab/config:/etc/gitlab -v /Users/xxx/myDocker/gitlab/logs:/var/log/gitlab -v /Users/xxx/myDocker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

  ·  第二种:docker-compose 运行。上述运行方式麻烦,需要记住一长串的运行参数;使用docker-compose 运行,可配置运行参数,灵活方便,最主要的是可运行一系列容器。

把上述运行参数转成docker-compose.yml文件如下

version: '3'
services:
  gitlab:
    ports:
    - "8443:443"
    - "8090:80"
    - "222:22"
    volumes:
    - glConf:/etc/gitlab
    - glLogs:/var/log/gitlab
    - glData:/var/opt/gitlab
volumes:
  glConf:/Users/xxx/myDocker/gitlab/config
  glLogs:/Users/xxx/myDocker/gitlab/logs
  glData:/Users/xxx/myDocker/gitlab/data

·  error:启动后一直访问映射端口:8090,访问不到,查看日志

$ docker logs -f gitlab

错误如下:分析是项目存储目录权限问

    ================================================================================
    Error executing action `create` on resource 'storage_directory[/var/opt/gitlab/git-data/repositories]'
    ================================================================================

    解决一:进入容器,更改文件夹权限

$ chmod 2770 /var/opt/gitlab/git-data/repositories
$ gitlab-ctl reconfigure
$ gitlab-ctl restart

        我这不知道什么原因进不去启动失败的gitlab容器,所以采取如下解决方式。

    解决二:更改数据存储目录

$ vim gitlab/conf/gitlab.rb

                    修改 git_data_dirs  如下:

 git_data_dirs({
   "default" => {
#     "path" => "/mnt/nfs-01/git-data"
     "path" => "/data/gitlab"
    }
 })

解决后,重启

$ docker restart gitlab

访问ip:8090,成功!登陆页面首先需要修改密码

 

  • 初识 gitlab

·  注册,我的注册信息是:用户名{gitlab},密码{12345678} --> 登陆如下

·  自行安装git,生成git密匙,添加到 gitlab

$ ls ~/.ssh

      有则直接使用,不存在则生成,输入下面命令,一路回车键

$ cd ~/.ssh
$ ssh-keygen -t rsa -C "your_email@youremail.com"

 ·  创建组-->group 

·  创建项目-->project

创建后,发现 clone 的 IP 如下不是我们想要的 

· 修改 IP 

# 进入容器
$ docker exec -it gitlab /bin/bash
# 更改 IP
vim /etc/gitlab/gitlab.rb

 

 

重启容器即可

·创建成功,可用如下命令,克隆到本机,至此 gitlab 简单使用告一断落

·  获取/修改超级管理员root的密码

# 进入 gitlab 容器
$ docker exec -it gitlab /bin/bash
# 切换目录
$ cd /opt/gitlab/bin

开始初始化密码 -> 在此目录下执行命令

$ gitlab-rails console production

# 通过如下命令来查找与切换账号(User.all 可以查看所有用户)
u=User.where(id:1).first

 

# 我在这里设置密码为12345678
u.password='12345678'

# 确认密码
u.password_confirmation='12345678' 

 

# 保存密码
u.save!

看到上图 true -> 修改成功

# 退出
exit

然后就可以用 root/12345678 登陆,做最高权限的操作了.......

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值