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 "脚本执行结束"
版权声明:本文为h609232722原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。