Docker部署GitLab代码管理平台

官方地址:https://docs.gitlab.com/ee/install/docker.html

1.创建存放gitlab数据的目录

[root@k8s-master ~]# mkdir /home/fands
[root@k8s-master ~]# mkdir /home/fands/data

2.docker启动gitlab容器

如下是docker启动gitlab的命令,可以将其写到sh文件中方便后续重建;

#gitlab-docker-run.sh
GITLAB_HOME=/home/fands/data/gitlab
docker run -itd \
  --hostname gitlab.ctnrs.com \
  --publish 443:443 \
  --publish 88:80 \
  --publish 2222:22 \
  --name=gitlab \
  --restart=always \
  -volume $GITLAB_HOME/config:/etc/gitlab \
  -volume $GITLAB_HOME/logs:/var/log/gitlab \
  -volume $GITLAB_HOME/data:/var/opt/gitlab \
  gitlab/gitlab-ce:13.12.5-ce.0
  • GITLAB_HOME:本地存放gitlab数据的目录
  • –hostname:设置主机名
  • –publish 443:443:将gitlab容器的443端口映射到本地的443端口
  • –publish 88:80:同理将容器的80端口映射到本地的88端口
  • –publish 2222:22:同理将容器的22端口映射到本地的2222端口(22端口用作于gitlab的ssh git下载代码)
  • –name:容器名称
  • –restart=always:容器重启策略,always代表总是重启
  • -volume $GITLAB_HOME/config:/etc/gitlab:数据持久化,将容器内的gitlab的数据目录/etc/gitlab 持久化到 本地存放gitlab数据的目录里
  • -volume $GITLAB_HOME/logs:/var/log/gitlab:数据持久化,将容器内的gitlab的数据目录/var/log/gitlab 持久化到 本地存放gitlab数据的目录里
  • -volume $GITLAB_HOME/data:/var/opt/gitlab:数据持久化,将容器内的gitlab的数据目录/var/opt/gitlab 持久化到 本地存放gitlab数据的目录里

在这里插入图片描述

然后访问使用宿主机IP和88端口去访问gitlab,我这里是http://10.8.0.7:88/,gitlab启动时间会很长,需要3-5分钟大家耐心等待…

安装完后需要设置gitlab的管理员用户密码
在这里插入图片描述

登陆gitlab
在这里插入图片描述

3.修改gitlab的下载代码的路径地址

默认为hostname主机名
在这里插入图片描述
示例修改为:gitlab.study.com

#修改gitlab主配置文件(目录为持久化到本地的gitlab数据目录)
#/home/fands/data/gitlab/config/gitlab.rb
修改:
external_url 'http://gitlab.study.com'

然后保存重启gitlab容器

[root@bogon ~]# docker ps 
CONTAINER ID   IMAGE                           COMMAND             CREATED          STATUS                    PORTS                                                                                                             NAMES
069d710325d7   gitlab/gitlab-ce:13.12.5-ce.0   "/assets/wrapper"   49 minutes ago   Up 22 minutes (healthy)   0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:88->80/tcp, :::88->80/tcp   gitlab
[root@bogon ~]# docker restart gitlab

再重新看下下载代码的地址
在这里插入图片描述

4.备份

docker方式部署的gilab备份及其的简单,直接将容器持久化到本地的gitlab数据目录备份即可,或直接将这个目录拷贝到其他机器上直接docker run启动 都是没有问题的,不会丢失数据!

例如:我这里的数据目录为:/home/fands/data/gitlab

自动备份脚本如下

#bak.sh
#!/bin/bash
set -e 
#持久化到本地的gitlab数据目录
GITLAB_DIR=/home/fands/data/

BACKUP_DIR=/root/backup

BACKUP_TIME=`date +%Y_%m_%d`

if [ ! -d "$BACKUP_DIR" ];then
  echo "备份目录"$BACKUP_DIR"不存在,请创建"
  exit 1
else 
  echo "开始执行备份"
  cd $GITLAB_DIR
  tar -zcf $BACKUP_DIR/gitlab_bak_"$BACKUP_TIME".tar.gz gitlab  2>/dev/null
  if [ $? == 0 ];then
    echo "备份成功"
    echo "备份文件为:$BACKUP_DIR/gitlab_bak_"$BACKUP_TIME".tar.gz"
  else 
    echo "备份失败"
    exit 1
  fi
fi

crontab定时执行

0 3 * * * sh /root/bak.sh 1>>/root/bak_logs/gitlab_bak.log 2>&1

5.恢复

上面实现了每天进行备份gitlab,如若恢复的话,直接解压最近的备份文件,接着覆盖gitlab的持久化目录 然后重启gitlab容器即可;

#解压备份文件
[root@bogon backup]# tar -zxf gitlab_bak_2024_04_18.tar.gz
[root@bogon backup]# ll 
总用量 22820
drwxr-xr-x. 5 root root       44 418 14:13 gitlab
-rw-r--r--. 1 root root 23367068 418 16:58 gitlab_bak_2024_04_18.tar.gz

#先将当前使用的数据目录重命名
[root@bogon backup]# mv /home/fands/data/gitlab /home/fands/data/gitlab.bak 

#将解压好的备份目录移动到备份目录下
[root@bogon backup]# mv gitlab /home/fands/data/

#重启gitlab容器
[root@bogon backup]# docker ps 
[root@bogon backup]# docker restart gitlab
  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Windows上使用Docker部署GitLab,可以按照以下步骤进行操作: 1. 首先,你需要下载并安装Docker Desktop for Windows。Docker Desktop是一个Windows平台上的Docker应用容器引擎。 2. 安装完成后,打开命令提示符(cmd)窗口,运行以下命令来拉取GitLab的镜像文件: ``` docker pull gitlab/gitlab-ce ``` 这个命令将从Docker Hub上下载最新的GitLab Community Edition(gitlab-ce)的镜像文件。 3. 下载完成后,你需要创建本地映射文件夹来存储GitLab的配置、日志和数据文件。在命令提示符窗口中运行以下命令: ``` mkdir D:\DockerData\GitlabData\config mkdir D:\DockerData\GitlabData\log mkdir D:\DockerData\GitlabData\data ``` 这些命令将在D盘下创建相应的文件夹,用于存储GitLab的配置、日志和数据文件。 4. 最后,你可以运行以下命令来启动GitLab容器: ``` docker run -d ^ --hostname localhost ^ -p 80:80 ^ -p 443:443 ^ --name gitlab ^ --restart unless-stopped ^ -v D:\DockerData\GitlabData\config:/etc/gitlab ^ -v D:\DockerData\GitlabData\log:/var/log/gitlab ^ -v D:\DockerData\GitlabData\data:/var/opt/gitlab ^ gitlab/gitlab-ce:latest ``` 这个命令将在Docker中创建并运行一个GitLab容器。通过端口映射,你可以通过浏览器访问`http://localhost`来打开GitLab的界面。 在这个命令中,你需要根据实际情况修改文件夹路径和主机名等参数。 通过以上步骤,在Windows上使用Docker部署GitLab就可以顺利完成了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [windows使用docker部署gitlab](https://blog.csdn.net/qq563129582/article/details/128190394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知名运维:

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值