docker安装的gitlab的备份与恢复

3 篇文章 0 订阅
3 篇文章 0 订阅

docker安装的gitlab的备份与恢复

docker 安装完gitlab后,使用起来很方便,但是数据量不断增大,需要及时做好备份,以免出了问题之后数据丢失

1.对docker容器安装gitlab备份

我的上一篇文章是docker搭建gitlab
安装命令是:
sudo docker run --detach --hostname gitlab --restart always --publish 443:443 --publish 80:80 --publish 32:22 --name mygitlab --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab 22822ee2d3c0

我做了文件卷的映射,把容器内的文件映射到容器外,主机上,在根目录的/srv文件夹
那个备份分2步(没做映射的容器不需要备份这个文件)

①备份gitlab文件

tar -zcvf srv20190606.tar.gz /srv
将 srv20190606.tar.gz文件从云服务器下载到本地

②备份gitlab容器,整体打包成镜像文件

1) 查看容器id

# docker ps
在这里插入图片描述

2)将容器备份成镜像文件

# docker commit -a ‘汪敏’ -m ‘gitlab备份’ 9e7849fa0dbe wangmin/gitlab:3.0
-a 作者
-m 提交的注释信息
9e7849fa0dbe 容器id
wangmin/gitlab:3.0 镜像名称:版本号
在这里插入图片描述

3)查看镜像,有刚才备份的镜像

在这里插入图片描述

③)可以进一步将镜像文件备份成.tar.gz文件,也可以直接讲镜像push到阿里云
3.1 )将镜像文件备份成.tar.gz文件

# docker save b8c5a9990c6e > ./gitlab20190606.tag.gz
在这里插入图片描述
至此gitlab备份完成,将gitlab20190606.tag.gz 和 srv20190606.tar.gz 2个 备份文件下载到本地即可

3.2)将镜像push到阿里云镜像仓库

在这里插入图片描述

3.2.1若没有创建过镜像仓库,要先创建一个镜像仓库,并设置仓库密码

在这里插入图片描述
然后就能看到如下页面,照着上面的步骤操作即可

3.2.2 将镜像发布到阿里云仓库

将镜像推送到Registry
$ sudo docker login --username=xxx registry.cn-beijing.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/wangmin/repository:[镜像版本号]
$ sudo docker push registry.cn-beijing.aliyuncs.com/wangmin/repository:[镜像版本号]

3.2.3 查看镜像

在这里插入图片描述

3.2.4 将阿里云上的镜像拉取到本地

从Registry中拉取镜像
$ sudo docker pull registry.cn-beijing.aliyuncs.com/wangmin/repository:[镜像版本号]
至此,gitlab备份完成,将gitlab镜像 和 srv20190606.tar.gz 2个 备份文件下载到本地即可

2. gitlab在docker容器中恢复

经过上面的备份,相信你已经将备份文件下载到本地了,下面说下怎么在本地恢复使用

2.1 srv目录恢复

将 srv20190606.tar.gz文件解压
# mv srv20190606.tar.gz /
# tar -zxf srv20190606.tar.gz
在根目录下查看,有/srv目录
在这里插入图片描述
由于docker容器内部访问宿主机的文件,并不是root用户创建的,没有root权限,需要给文件添加权限
# chmod -R 777 srv 给srv文件夹下面的所有文件添加读写可执行权限

2.2 启动gitlab备份的镜像文件

若是.tar.gz 文件,先将该文件加载成 镜像文件
docker load < ./gitlab20190606.tag.gz

重新执行容器启动命令
sudo docker run --detach --hostname gitlab --restart always --publish 443:443 --publish 80:80 --publish 32:22 --name mygitlab --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab 22822ee2d3c0
然后查看启动的容器
在这里插入图片描述
然后通过ip访问即可,gitlab在本地正常启动了!!!
在这里插入图片描述
是不是很神奇!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值