创建数据目录

1
2
mkdir -pv /data/gitlab/{data,config,logs}
mkdir -pv /data/docker-compose/gitlab/

配置docker-compose文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
cat > /data/docker-compose/gitlab/docker-compose.yml << EOF
version: "3"
services:
gitlab:
container_name: gitlab
image: gitlab/gitlab-ce:latest
restart: always
ports:
- 8098:8098
- 8443:443
- 2222:22/tcp
volumes:
- /etc/localtime:/etc/localtime
- /data/gitlab/data:/var/opt/gitlab
- /data/gitlab/config:/etc/gitlab
- /data/gitlab/logs:/var/log/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://3.1.101.38:8098'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 4G
EOF

启动

1
docker-compose up -d

备份恢复

备份

1
/usr/bin/docker exec gitlab gitlab-rake gitlab:backup:create

恢复

停止服务

1
2
/usr/bin/docker exec gitlab gitlab-ctl stop puma
/usr/bin/docker exec gitlab gitlab-ctl stop sidekiq

开始恢复

1
/usr/bin/docker exec gitlab gitlab-rake gitlab:backup:restore BACKUP=1639594857_2021_12_16_13.12.2