Docker下安装Gitlab

一、GitLab安装

1.1 镜像查询

# 查询gitlab有哪些镜像
docker search gitlab

1.2 镜像拉取

镜像的拉取会直接影响到后面我们是否需要汉化,所以镜像的选择尤为重要。

image-20210726135135890

①是官方镜像,②是汉化社区办的镜像。

1.2.1 官方社区版

官方社区版是纯英语的,可以原汁原味地体验gitlab。而且镜像更新也是最频繁的,新加的功能都能够体验到。

# 拉取最新版的gitlab
docker pull gitlab/gitlab-ce

但是最新版的gitlab的汉化比一定能马上匹配。因为gitlab的版本与汉化包可能不是同步发布的,如果想知道现在汉化匹配到什么版本了,可以查看gitlab中文社区:https://gitlab.com/xhang/gitlab/

# 拉取指定版本的gitlab,此处我以12.3.5版本为例
docker pull gitlab/gitlab-ce:12.3.5-ce.0

1.2.2 已汉化社区版

如果不想自己汉化的话,可以选择②已汉化的镜像,但是这个镜像已经很久没有更新维护了,gitlab的版本也是11.1的版本。

1.3 运行镜像

# 运行镜像
docker run -d --restart=always \
-p 80:9528 \
-v /home/u01/gitlab/config:/etc/gitlab \
-v /home/u01/gitlab/logs:/var/log/gitlab \
-v /home/u01/gitlab/data:/var/opt/gitlab \
--name gitlab \
gitlab/gitlab-ce:12.3.5-ce.0
# 443和22的端口可根据实际使用情况映射

1.4 测试Gitlab

启动成功后使用http://主机IP:9528即可访问Gitlab。首次访问Gitlab会让你设置管理员密码,管理员账号为:root

image-20210726142513293

1.5 访问URL配置

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/u01/gitlab/config/gitlab.rb)。

image-20210727093148305

修改/home/u01/gitlab/config/gitlab.rb

# gitlab.rb文件内容默认全是注释
$ vim /home/u01/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址
external_url 'http://192.168.0.30:9528'
# 重启gitlab
docker restart gitlab

此时,发现gitlab重启之后通过http://192.168.0.30:9528无法访问,这是为什么呢? 原因是当external_url修改后,并且添加了端口,那么gitlab的端口将不再是默认的80,而是修改后的9528端口,所以我们需要删除容器,重新指定端口映射为-v 9528:9528即可。

# 重新运行镜像,并指定为修改后的端口
docker run -d --restart=always \
-p 9528:9528 \
-v /home/u01/gitlab/config:/etc/gitlab \
-v /home/u01/gitlab/logs:/var/log/gitlab \
-v /home/u01/gitlab/data:/var/opt/gitlab \
--name gitlab \
gitlab/gitlab-ce:12.3.5-ce.0
# 443和22的端口可根据实际使用情况映射

启动完成后,再次访问http://192.168.0.30:9528,gitlab的web管理页面就可以正常访问,并且项目的clone地址也变成了我们指定的地址。

image-20210727095912575

二、汉化

如果在上面直接使用的汉化版本就可以直接跳过这一步了。

2.1 获取汉化包

访问https://gitlab.com/xhang/gitlab/,根据自己的gitlab获取相应版本的汉化包。也可以使用大stable版本。比如12.3.5可以使用gitlab-12-3-stable-zh,具体操作如下:

2.1.1 查看当前gitlab版本

直接登录之前安装的gitlab,然后在右上角的菜单中点击Help,即可看到当前gitlab版本的详细信息。

image-20210727100736584

2.1.2 下载汉化包

# 方式一:直接下载源码包,例如
wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz

# 方式二:通过git克隆源码,例如
git clone -b gitlab-12-3-stable-zh https://gitlab.com/xhang/gitlab.git

2.1.3 汉化

# 1.复制汉化包到gitlab容器内的`/opt/gitlab/embedded/service`目录下
docker cp 文件名称 容器ID:容器内部路径
# 2.进入容器
docker exec -it 容器ID /bin/bash
# 3.进入`/opt/gitlab/embedded/service`目录
cd /opt/gitlab/embedded/service
# 4.解压`gitlab-12-3-stable-zh.tar.gz`到当前目录
tar -zxvf gitlab-12-3-stable-zh.tar.gz
# 5.关闭gitlab服务
gitlab-ctl stop
# 6.复制解压后的文件到`gitlab-rails`目录
cp -rf gitlab-12-3-stable-zh/* gitlab-rails
# 7.如果在复制过程中出现如下错误,是正常的,不用管
cp: cannot overwrite non-directory 'gitlab-rails/log' with directory 'gitlab-12-3-stable-zh/log'
cp: cannot overwrite non-directory 'gitlab-rails/tmp' with directory 'gitlab-12-3-stable-zh/tmp'
# 8.重新加载和启动gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
# 9.重启容器
docker restart 容器ID

上述操作完成后,再次访问gitlab,发现页面已经汉化了。

image-20210727104111082

2.1.4 如果还没有汉化的操作(可选)

上面的操作完成后,访问gitlab,发现首页还是英文,则进行此操作。

image-20210727115151495 image-20210727115401959

2.1.5 将汉化版本打包成镜像(可选)

此操作旨在方便以后迁移的时候,快速的搭建汉化版Gitlab,如果没有需要,则跳过!

# 将容器打包成镜像
docker commit -a "[作者]" [容器ID] [新的镜像名]:[tag]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值