使用docker-compose部署gitlab13.11.7并还原以前的备份

1. 安装docker

1.1 更换docker源

我这里采用yum的方式安装,为了安装快速,我更换了阿里云的docker源

[root@localhost data]# mkdir -p ./download/docker
[root@localhost data]# cd download/docker/
[root@localhost docker]# wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost docker]# ls
docker-ce.repo

检查一下下载的源

cat docker-ce.repo

在这里插入图片描述
进入存放源的目录/etc/yum.repos.d 将下载的docker源放在此目录下

[root@localhost data]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cp /data/download/docker/docker-ce.repo ./
[root@localhost yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    docker-ce.repo

清理缓存并建立新的缓存

[root@localhost ~]# yum clean expire-cache
[root@localhost ~]# yum makecache

1.2 安装docker

[root@localhost ~]# yum install docker-ce -y

在这里插入图片描述

1.3 查看docker版本

出现版本信息表示安装成功。
在这里插入图片描述

1.4 更新一下镜像仓库加速地址

[root@localhost ~]# cat>/etc/docker/daemon.json<<E0F
>{
"registry-mirrors":["https://registry.docker-cn.com"]
>}
> EOF

在这里插入图片描述

1.5 重启docker服务查看进程

[root@localhost ~]# systemctl start docker
[root@localhost ~]# ps -ef | grep docker

在这里插入图片描述

1.6 测试一下新的仓库源

以nginx 为例,如果不能成功拉去,可以再换其他的加速源。

[root@localhost ~]# docker pull nginx

在这里插入图片描述

2. 安装docker-compose

2.1 下载Docker-Compose

进入/usr/local/bin目录

[root@localhost ~]# cd /usr/local/bin
[root@localhost bin]# curl -L https://github.com/docker/compose/releases/download/2.26.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2.2 添加执行权限

chmod +x /usr/local/bin/docker-compose

2.3 查看是否安装成功

docker-compose -version

3. 使用docker-compose部署gitlab

3.1 在根目录下使用mkdir gitlab 命令创建giltlab目录

mkdir gitlab

3.2 使用cd gitlab进入目录

cd gitlab

3.3 创建docker-compose.yml文件

在当前目录内创建docker-compose.yml文件

vim docker-compose.yml

文件内容如下:

version: '3.6'
services:
  gitlab:        #定义服务名称
    image: 'gitlab/gitlab-ce:13.11.7-ce.0'  #定义镜像
    container_name: gitlab        #定义container名称
    restart: always        #定义重启策略
    privileged: true        #以特权模式运行
    hostname: 'gitlab'
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.88.140:9000'       #定义web地址,填写自己服务器地址
        gitlab_rails['gitlab_shell_ssh_port'] = 1022   #定义ssh端口,通过ssh拉取仓库代码需要用到
    ports:
      - '9000:9000'   #web端口需要和上面配置的一致
      - '8443:443'
      - '1022:22'
    volumes:
      - /gitlab/data/gitlab/config:/etc/gitlab
      - /gitlab/data/gitlab/data:/var/opt/gitlab
          - /gitlab/data/gitlab/logs:/var/log/gitlab

在这里插入图片描述

3.4 创建映射目录

创建好docker-compose.yml文件后,要按照里面volumes:的内容,创建好/gitlab/data/gitlab/config、/gitlab/data/gitlab/data、/gitlab/data/gitlab/logs三个目录。

mkdir -p /gitlab/data/gitlab/config
mkdir -p /gitlab/data/gitlab/data
mkdir -p /gitlab/data/gitlab/logs

3.5 启动gitlab容器

在存放docker-compose.yml文件的目录内启动gitlab容器,命令如下:

root@aqscgitlab:/gitlab# docker-compose up -d

参数 -d 表示在后台启动。

3.6 查看启动后容器状态

root@aqscgitlab:/gitlab# docker-compose ps

在这里插入图片描述

3.7 测试登录gitlab系统

在浏览器访问gitlab:http://192.168.88.140:9000/
第一次登录输入的就是新密码,记住自己的密码。在这里插入图片描述

4. 还原备份

4.1 将备份文件,拷贝到容器内还原文件存放目录

docker cp ./1679458200_2023_03_22_13.11.7_gitlab_backup.tar gitlab:/var/opt/gitlab/backups/1679458200_2023_03_22_13.11.7_gitlab_backup.tar

在这里插入图片描述

4.2 进入容器查看备份文件

进入容器命令:

docker exec -it gitlab bash

进入备份存放目录

cd /var/opt/gitlab/backups/
ll

在这里插入图片描述

4.3 执行还原命令

gitlab-rake gitlab:backup:restore BACKUP=1679458200_2023_03_22_13.11.7

注意:BACKUP=的值是备份文件的名字,不要加上文件的后缀。
在这里插入图片描述

4.4 出现报错并解决

报错如下:
在这里插入图片描述

解决办法:
修改postgresql配置
1、修改postgresql.conf

vim /var/opt/gitlab/postgresql/data/postgresql.conf

修改此处监听地址,*代表所有。

listen_addresses = '*'

2、修改postgresql.conf

vim /var/opt/gitlab/postgresql/data/pg_hba.conf

最下面新增两行

local   all         all                               trust
host    all         all                               127.0.0.1/32 trust

3、重启gitlab服务

gitlab-ctl restart

4、修改gitlab账号为超级用户

su - gitlab-psql
/opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
ALTER ROLE
gitlabhq_production=# \q

4.5 重复执行还原命令

恢复数据需要一段时间中间不要中断
在这里插入图片描述

4.6 恢复完成,登录gitlab测试

页面已经发生改变
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lht631935612

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

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

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

打赏作者

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

抵扣说明:

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

余额充值