迁移:
1、查看docker中gitlab容器:docker ps -a
2、现有容器启动命令是:
docker run -d \
--name gitlab3 \
--restart always \
-p 8082:443 -p 8083:80 -p 8084:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/gitlabdata/gitlab/config:/etc/gitlab \
-v /usr/local/gitlabdata/gitlab/logs:/var/log/gitlab \
-v /usr/local/gitlabdata/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:16.6.2-ce.0
3、停止现有gitlab容器:docker stop gitlab3
4、把现有gitlab的数据同步到数据盘一份:rsync -r -avz /usr/local/gitlabdata/gitlab /dghdata/gitlabdata/
5、把系统盘的数据备份:mv /usr/local/gitlabdata /usr/local/gitlabdata.old
6、配置参数改成数据盘路径重新启动(容器可以起个新名字),查看结果,如果启动成功且数据还在,则数据迁移成功:
docker run -d \
--name gitlab4 \
--restart always \
-p 8082:443 -p 8083:80 -p 8084:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /dghdata/gitlabdata/gitlab/config:/etc/gitlab \
-v /dghdata/gitlabdata/gitlab/logs:/var/log/gitlab \
-v /dghdata/gitlabdata/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:16.6.2-ce.0
升级:
7、停止现有gitlab容器:docker stop gitlab4
8、先下载升级到最新的各个版本路径,从16.6.2升级到16.10.1需要两个版本,下载命令为:
docker pull gitlab/gitlab-ce:16.7.7-ce.0
docker pull gitlab/gitlab-ce:16.10.1-ce.0
9、从低到高,镜像一个一个启动,(命令只需要更改版本号,路径不要改)
(容器名称可以加个编号,老的不要删除,可以启动原来容器类似回退)(升级启动命令之后,要等很长一段时间不要急,应该是在跑 配置文件)启动命令为:
docker run -d \
--name gitlab5 \
--restart always \
-p 8082:443 -p 8083:80 -p 8084:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /dghdata/gitlabdata/gitlab/config:/etc/gitlab \
-v /dghdata/gitlabdata/gitlab/logs:/var/log/gitlab \
-v /dghdata/gitlabdata/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:16.7.7-ce.0
docker run -d \
--name gitlab6 \
--restart always \
-p 8082:443 -p 8083:80 -p 8084:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /dghdata/gitlabdata/gitlab/config:/etc/gitlab \
-v /dghdata/gitlabdata/gitlab/logs:/var/log/gitlab \
-v /dghdata/gitlabdata/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:16.10.1-ce.0
10、查看gitlab运行日志:docker logs -f gitlab容器id
注意:gitlab升级要根据官网的要求,一个版本一个版本的来,不然就容易升级不成功。