前提
1、docker組件已經(jīng)安裝涩搓,參照:CentOS7下安裝Docker
2污秆、docker-compose已安裝完成,參照:CentOS7下安裝docker-compose
安裝過(guò)程
1缩膝、將備份數(shù)據(jù)通過(guò)NFS添加到遠(yuǎn)程
搭建NFS服務(wù)器請(qǐng)參照《CentOS7下搭建NFS服務(wù)及配置使用》混狠,不使用網(wǎng)絡(luò)備份可省略這一步。
mount 10.220.96.202:/data/share /mnt/backups/
2疾层、建立docker-compose.yml
內(nèi)容參考如下:
web:
? image: 'gitlab/gitlab-ce:12.2.4-ce.0'
? restart: always
? container_name: gitlab
? hostname: '10.220.96.205'
? environment:
? ? GITLAB_OMNIBUS_CONFIG: |
? ? ? external_url 'http://10.220.96.205:8020'
? ? ? external_url 'https://10.220.96.205:8021'
? ? ? gitlab_rails['gitlab_shell_ssh_port'] = 8022
? ? ? gitlab_rails['backup_path'] = "/backups"
? ? ? nginx['listen_port'] = 8021
? ? ? nginx['ssl_certificate'] = "/var/opt/gitlab/certs/registry.tpri.com.cn.crt"
? ? ? nginx['ssl_certificate_key'] = "/var/opt/gitlab/certs/registry.tpri.com.cn.key"
? ports:
? ? - '8020:8020'
? ? - '8021:8021'
? ? - '8022:22'
? volumes:
? ? - '/data/gitlab/config:/etc/gitlab'
? ? - '/data/gitlab/logs:/var/log/gitlab'
? ? - '/data/gitlab/data:/var/opt/gitlab'
? ? - '/mnt/backups:/backups'
? ? - '/etc/localtime:/etc/localtime:ro'
3将饺、啟動(dòng)gitlab
在docker-compose.yml文件同文件夾下執(zhí)行以下命令
docker-compose up -d
4、設(shè)置自動(dòng)備份
sudo crontab -e -u root
加入以下內(nèi)容
# 每天早上2:00備份gitlab的配置文件和數(shù)據(jù)0 2 * * * docker exec -t gitlab gitlab-ctl backup-etc /backups && docker exec -t gitlab gitlab-backup create