日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

基于docker容器的gitlab遷移與數(shù)據(jù)恢復(fù)

作者:萬物皆可愛33 更新時(shí)間: 2022-10-14 編程語言

將192.168.0.101上面的gitlab遷移到192.168.0.132上去,都使用的容器

第一步.在132機(jī)器上起一個(gè)gitlab的容器(版本需要跟101一致)

101上的gitlab容器是通過docker-compose.yml啟動(dòng)的,所以直接將101上的docker-compose.yml文件拷貝到132上再起容器

101機(jī)器上:

xieshan@dell:/data/gitlab$ cat docker-compose.yml 
version: '3'
services:
  web:
    image: 'gitlab/gitlab-ce:13.9.2-ce.0'
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.easycomputation.com:8060'
    ports:
      - '8060:8060'
      - '2222:22'
      - '5005:5005'
    volumes:
      - '/data/gitlab/config:/etc/gitlab'
      - '/data/gitlab/logs:/var/log/gitlab'
      - '/data/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'
xieshan@dell:/data/gitlab$ scp ./docker-compose.yml docker@192.168.0.132:/home/docker/gitlab/   #手動(dòng)復(fù)制過去也行

132機(jī)器上:

docker@132:~/gitlab$ cd /home/docker/gitlab/
docker@132:~/gitlab$ mkdir config data logs
docker@132:~/gitlab$ ls
backups  config  data  docker-compose.yml  logs
docker@132:~/gitlab$ cat docker-compose.yml 
version: '3'
services:
  web:
    image: 'gitlab/gitlab-ce: 13.9.2-ce.0'
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.easycomputation.com:8060'
    ports:
      - '8060:8060'
      - '2222:22'
      - '5005:5005'
    volumes:
      - '/home/docker/gitlab/config:/etc/gitlab'
      - '/home/docker/gitlab/logs:/var/log/gitlab'
      - '/home/docker/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'
docker@132:~/gitlab$ docker-compose up -d

第二步:在web界面上,通過192.168.0.132:8090訪問進(jìn)去,隨便設(shè)置一個(gè)密碼(后期會(huì)被覆蓋)登錄進(jìn)去(這一步不可以省略)

第三步:在101上打包數(shù)據(jù),并且將壓縮包傳遞到132的/home/docker/gitlab/backups里面去

101機(jī)器上:

docker exec -t docker_web_1 gitlab-backup create        #在容器外執(zhí)行

將在docker容器里里面的/var/opt/gitlab/backups/目錄下產(chǎn)生一個(gè)1665386470_2022_10_10_13.9.2_gitlab_backup.tar的壓縮包

傳遞壓縮包(在101的容器內(nèi)部)

root@ed414f9cc6e7:/var/opt/gitlab/backups# pwd
/var/opt/gitlab/backups
root@ed414f9cc6e7:/var/opt/gitlab/backups# ls
1665386470_2022_10_10_13.9.2_gitlab_backup.tar
root@ed414f9cc6e7:/var/opt/gitlab/backups# scp 1665386470_2022_10_10_13.9.2_gitlab_backup.tar docker@192.168.0.132:/home/docker/gitlab/backups

第四步:傳遞配置文件

在101機(jī)器上:

xieshan@dell:/var/opt/gitlab$ cd /data/gitlab/
xieshan@dell:/data/gitlab$ ls
config        data  docker-compose.yml  logs
xieshan@dell:/data/gitlab$ sudo scp -r ./config/* root@192.168.0.132:/home/docker/gitlab/config

第五步:恢復(fù)數(shù)據(jù)跟文件

在132的容器內(nèi)部:

docker exec -it gitlab_web_1 /bin/bash       #進(jìn)入132的容器里面
cd /data/gitlab11.10.1/data/backups    #如果這個(gè)目錄下沒有那個(gè)壓縮包,就吧外面的壓縮包復(fù)制進(jìn)來
chmod 777 1665386470_2022_10_10_13.9.2_gitlab_backup.tar
gitlab-ctl stop unicorn    #關(guān)閉相關(guān)服務(wù)
gitlab-ctl stop sidekiq
gitlab-backup restore BACKUP=1665386470_2022_10_10_13.9.2    #開始恢復(fù),一直yes就可以了,中間一些警告可以忽視(這個(gè)壓縮包的名字不用寫全,會(huì)自動(dòng)補(bǔ)齊)
gitlab-ctl reconfigure    #重新加載配置
gitlab-ctl start unicorn    #重新啟動(dòng)相關(guān)服務(wù)
gitlab-ctl start sidekiq
gitlab-ctl restart        #重新啟動(dòng)gitlab服務(wù)
exit        #退出容器

然后可以在web界面上登錄,看看數(shù)據(jù)是否都恢復(fù)了

參考博客:(3條消息) 【非常詳細(xì)】docker中g(shù)itlab的數(shù)據(jù)遷移_seniorhui666的博客-CSDN博客

(3條消息) 基于docker的gitlab的遷移_kaen_w的博客-CSDN博客_docker gitlab 遷移

Backup | GitLab

原文鏈接:https://blog.csdn.net/weixin_43880061/article/details/127287150

欄目分類
最近更新