使用docker搭建Gitlab


前提:已 安装docker

1.安装gitlab

# 确保docker进程处于运行状态
systemctl start docker

# 这里我将gitlab安装在/home/gitlabtest下
cd /home
mkdir gitlabtest
cd gitlabtest

# 119.45.234.152 为云服务器ip
# 这里需要设置为--publish 13800:13800,如果设置--publish 13800:80 后期配置克隆地址会有坑,详见后面**注意2**
# gitlab_test 容器名称
# gitlab/gitlab-ce:latest 为社区版 
sudo docker run --detach \
  --hostname 119.45.234.152 \
  --publish 13800:13800 --publish 13822:22 \
  --name gitlab_test \
  --restart always \
  gitlab/gitlab-ce:latest


# 查看
docker ps | grep gitlab_test

# 查看防火墙状态
# 如果不是显示active状态,需要打开防火墙 systemctl start firewalld
systemctl status firewalld

# 查看所有已开放的临时端口,没有13800则需要添加放行
firewall-cmd --list-ports

# 防火墙放行端口13800
# 此处出现报错的话,请参考报错1
firewall-cmd --add-port=13800/tcp --permanent
firewall-cmd --reload

# 测试下,浏览器访问 119.45.234.152:13800(如果是云服务的话记得登录控制台设置安全组放行端口,参见后面 注意1 事项)
# 管理员账号的账号名为 root,密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除
# 获取密码命令:sudo docker exec -it gitlab_test grep 'Password:' /etc/gitlab/initial_root_password
119.45.234.152:13800

注意1:如果浏览器访问 119.45.234.152:13800 出现网页无法访问可能是 防火墙没开 或者 云服务没有设置安全组进行端口放行


报错1: You're performing an operation over default zone ('public'),but your connections/interfaces are in zone 'docker' (see --get-active-zones) You most likely need to use --zone=docker option.
原因: 因为当前的区域(在docker区)和默认的区域(public)不同,此> 时显示的默认区域被允许的服务)

# 查看防火墙当前的默认区域
firewall-cmd --get-default-zone
# 查看当前所在的区域
firewall-cmd --get-active-zones
# 更改当前的区域为public
firewall-cmd --change-interface=public

2. 配置

gitlab的配置文件时gitlab.rb,进入里面可以进行相关配置改动

# 进入gitlab容器配置
docker exec -it gitlab_test bash
cd etc/gitlab
ls

# 编辑配置文件gitlab.rb
vi gitlab.rb
i # 进入编辑状态
	# 1.克隆地址,此处可以设置为其他的地址,我这里保持克隆地址跟gitlab地址一致
	# 注意1:此处有坑:如果设置external_url为ip+port,且前面安装的时候设置的是 --publish 13800:80,则无法访问到GitLab。解决方案详情见:https://www.jianshu.com/p/d707f70c60d2
	external_url: 'http://119.45.234.152:13800' # 大约在32行
	...
esc # 退出
:wq # 保存
gitlab-ctl reconfigure # 重置gitlab配置以生效

注意2:如果设置external_url为 ip+port,且前面安装的时候设置的是 --publish 13800:80则会无法访问到GitLab
参考详见:https://www.jianshu.com/p/d707f70c60d2
解决:将容器 gitlab_test 停止并删除,然后再运行run命令。运行完后再重新修改配置为external_url: 'http://119.45.234.152:13800'

# 停止gitlab_test容器
docker stop gitlab_test
# 删除gitlab_test容器
docker rm gitlab_test
# 运行run命令
# 运行完后再按照上面重新修改配置为 external_url: 'http://119.45.234.152:13800'
sudo docker run --detach \
--hostname 119.45.234.152 \
--publish 13800:13800 --publish 13822:22 \
 --name gitlab_test \
 --restart always \
 gitlab/gitlab-ce:latest
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值