通过docker-compse安装
创建git文件夹
代码语言:txt复制mkdir -p /usr/local/docker/gitlab
创建docker-compose.yml文件
代码语言:txt复制vim docker-compose.yml
添加以下内容到docker-compose.yml当中
代码语言:txt复制version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh:11.1.4'
restart: always
hostname: '你的IP'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://你的IP:80'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 80
ports:
- '80:80'
- '8080:8080'
- '8443:443'
- '2222:22'
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
- /usr/local/docker/gitlab/backups:/var/opt/gitlab/backups
运行docker-compose.yml
代码语言:txt复制cd /usr/local/docker/gitlab
docker-compose up -d
浏览器访问
备份
进入Gitlab容器
代码语言:txt复制docker exec -it 容器名 /bin/bash
执行备份
代码语言:txt复制gitlab-rake gitlab:backup:create
备份文件位置
执行完命令后,备份文件默认放置
代码语言:txt复制cd /var/opt/gitlab/backups
生成的文件名
代码语言:txt复制example : 1670995662_2022_12_14_11.1.4_gitlab_backup.tar
拷贝备份到宿主机
执行完备份的命令后,退到宿主机器,复制容器里的备份文件到宿主机
代码语言:txt复制docker container cp 容器:/usr/local/docker/gitlab/backups/备份文件 /usr/local/docker/gitlab/backups/
⚠️ 注意:如果按照安装中的docker-compose.yml已经将备份文件挂载到宿主机,无需执行此命令,直接去宿主机/usr/local/docker/gitlab/backups/去拿备份文件,会自动同步。
备份copy
将老机器上的备份文件上传到新机器上
scp -r 备份文件 newServer:/usr/local/docker/gitlab/backups
scp -r 备份文件 root@新服务器的IP:/usr/local/docker/gitlab/backups
恢复
设置777权限
chmod 777 备份文件 新服务器执行,防止解压无权限
代码语言:txt复制chmod 777 /usr/local/docker/gitlab/backups/*.tar
进入GItlab容器
代码语言:txt复制进入新服务器的gitlab容器 docker exec -it 容器名 /bin/bash
关闭数据库连接
代码语言:txt复制gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
恢复命令
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
代码语言:txt复制gitlab-rake gitlab:backup:restore BACKUP=1629266728_2021_08_18_11.1.4
⚠️ 注意:不要带_gitlab后缀
启动gitlab
sudo gitlab-ctl start
最后
本期结束咱们下次再见