728x90
반응형
Docker Gitlab
백업 / 복원
(offline)
백업할 gitlab 현재 시점으로 이미지 생성
- docker commit [대상 컨테이너] [저장되는 이미지명]
- b12345678910(gitlab/gitlab-ce:latest) 현재 시점의 이미지를 gitlab-backup이라는 이름의 이미지로 저장.
docker ps;
CONTAINER ID IMAGE COMMAND CREATED
b12345678910 gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago
docker commit b12345678910 gitlab-backup;
생성된 도커 이미지 확인
- docker images
docker images;
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab-backup latest x12345678910 About a minute ago 582MB
백업한 도커 이미지를 tar파일로 저장
- docker save [옵션] [파일명] [이미지명]
Name, shorthand | Default | Description |
--output , -o | 저장할 파일명을 지정 |
docker save -o gitlab-backup.tar gitalb-backup
tar파일을 docker image로 불러옴
- docker load -i [tar파일명]
Name, shorthand | Default | Description |
--input , -i | 불러올 파일명을 명시합니다. | |
--quiet , -q | 출력 부하 억제? |
docker load -i gitlab-backup.tar
backup파일 저장 위치 확인
- cat /etc/gitlab/gitlab.rb | grep backup_path
- backup_path확인
# From Gitlab docker
/etc/gitlab# cat /etc/gitlab/gitlab.rb | grep backup_path
gitlab 데이터백업
- docker exec -it [대상 컨테이너] gitlab-rake gitlab:backup:create
- backup_path에 정의된 폴더에 백업파일이 생성되었는지 확인
# From Gitlab docker
docker exec -it b1234567810 gitlab-rake gitlab:backup:create
복원할 gitlab 서버의 일부 서비스를 종료
- 위에서 생성한 백업 파일을 복원할 gitlab 서버의 backup_path에 이동.
#From Gitlab docker
gitlab-ctl reconfigure
gitlab-ctl start
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl status
복원할 gitlab 서버에서 위에서 생성한 백업 파일로 데이터 복원
- 복원 시 gitlab version은 백업한 gitlab과 동일하게 해주셔야 편합니다.
- docker exec -it [대상 컨테이너] gitlab-rake gitlab:backup:restore --trace
docker exec -it b12345678910 gitlab-rake gitlab:backup:restore --trace
728x90
반응형