Docker 搭建 Gitlab-社区版本

发布于:2023-01-11 ⋅ 阅读:(579) ⋅ 点赞:(0)

1.拉取最新镜像

docker pull gitlab/gitlab-ce

在这里插入图片描述

2.第二步进行执行(如果本地80端口没占用尽量用80)

sudo docker run --detach \
  --publish 5443:443 --publish 5080:80 --publish 5022:22 \
  --name gitlab \
  --restart always \
  --volume /data/home/hfg/Data/Gitlab/config:/etc/gitlab \
  --volume /data/home/hfg/Data/Gitlab/logs:/var/log/gitlab \
  --volume /data/home/hfg/Data/Gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest
sudo docker run --detach \
#端口映射
  --publish 5443:443 --publish 5080:80 --publish 5022:22 \
  --name gitlab \
  # 后台方式运行
  --restart always \
  ## 映射的配置目录
  --volume /data/home/hfg/Data/Gitlab/config:/etc/gitlab \
  ## 映射的日志目录
  --volume /data/home/hfg/Data/Gitlab/logs:/var/log/gitlab \
  ## 映射的数据目录
  --volume /data/home/hfg/Data/Gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

3.查看日志

docker logs 容器id -f

4. 请求本地地址:http://localhost:5080/users/sign_in

在这里插入图片描述
密码在刚才映射的config目录下:/data/home/hfg/Data/Gitlab/config
initial_root_password
在这里插入图片描述

5.可以跟进自己的使用习惯进行语言配置

在这里插入图片描述
如何设置克隆的地址为ip或者为域名:
修改配置文件:/data/home/hfg/Data/Gitlab/config下边的gitlab.rb

# ip 形式
external_url 'http://xx.xx.xx.xx'
# 域名形式
external_url 'http://JemGeek.com'
# 子域名
external_url 'http://gitlab.JemGeek.com'
# 其他形式
external_url 'http://JemGeek.com/gitlab'

在这里插入图片描述
修改完成之后进行重启操作,重新加载了配置

sudo docker exec gitlab gitlab-ctl reconfigure

如果是80端口这样就可以直接进行使用,如图为上传的代码。
在这里插入图片描述

6.如何配置邮箱接受邮件(qq为例)

找到设置-账号有个开启服务,生成授权码

在这里插入图片描述

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "609xxx@qq.com" # 自己邮箱
gitlab_rails['smtp_password'] = "vdqfeabgmtdgbxxx" # 授权码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '609xxx@qq.com'

进行加载配置文件

sudo docker exec gitlab gitlab-ctl reconfigure

7创建备份和恢复

gitlab-rake gitlab:backup:create

  • 文件需要放在:/var/log/gitlab/backups
    gitlab-rake gitlab:backup:restore BACKUP=1644179119_2022_02_07_12.8.2_gitlab_backup
    在这里插入图片描述
    如果docker进行脚本备份
    请参考如下脚本,可以配置crontab任务
  • 每12个小时进行一次备份
0 */12 * * * sh /home/data/script/gitlab-backup.sh
!/bin/bash
echo "开始执行gitlab备份命令..."
timer_start=`date "+%Y-%m-%d %H:%M:%S"`
# 注意这里不能加 -it 交互模式参数,否则 crontab 不能正常执行
docker exec gitlab gitlab-backup create
timer_end=`date "+%Y-%m-%d %H:%M:%S"`
duration=`echo $(($(date +%s -d "${timer_end}") - $(date +%s -d "${timer_start}"))) | awk '{t=split("60 s 60 m 24 h 999 d",a);for(n=1;n<t;n+=2){if($1==0)s="0s";break;s=$1%a[n]a[n+1]s;$1=int($1/a[n])}print s}'`
echo "gitlab备份命令执行结束,耗时 $duration "
echo "脚本执行结束"


网站公告

今日签到

点亮在社区的每一天
去签到