InfoGrab DocsInfoGrab Docs

Linux 패키지 GitLab 인스턴스를 Docker로 마이그레이션

기존 Linux 패키지 GitLab 인스턴스를 Docker로 마이그레이션하는 두 가지 방법(데이터 디렉터리 재사용 및 백업/복원)을 설명합니다.

두 가지 방법 중 하나를 사용하여 기존 Linux 패키지 GitLab 인스턴스를 Docker로 마이그레이션하세요. 기존 데이터 디렉터리 재사용 : 기존 데이터 디렉터리를 Docker 볼륨 경로로 이동합니다. 전체 백업 및 복원 과정 없이 데이터를 그대로 유지하려면 이 방법을 사용하세요. 백업 후 복원 : Linux 패키지 인스턴스에서 GitLab 백업을 생성하고, 새 Docker 인스턴스를 설정한 후 복원합니다. 필요 시 롤백을 지원하는 깔끔한 마이그레이션을 원한다면 이 방법을 사용하세요. 사전 조건 # Linux 패키지 인스턴스와 Docker 이미지의 GitLab 버전이 일치해야 합니다. 필요한 경우 Docker로 마이그레이션하기 전에 Linux 패키지 인스턴스를 업그레이드하세요. 타깃 서버에 Docker가 설치 되어 있어야 합니다. 기존 데이터 디렉터리 재사용 # 기존 데이터 디렉터리를 재사용하여 Linux 패키지 GitLab 인스턴스를 Docker로 마이그레이션합니다. Linux 패키지 인스턴스 중지 # 모든 GitLab 서비스를 중지합니다. sudo gitlab-ctl stop 볼륨 디렉터리 준비 # 볼륨 디렉터리 준비 방법은 Docker가 실행되는 위치에 따라 다릅니다. Docker가 Linux 패키지 인스턴스와 동일한 서버에서 실행되는 경우, 디렉터리를 복사하지 않고 기존 디렉터리를 직접 마운트할 수 있습니다. Docker Compose 파일에서 볼륨 경로를 Linux 패키지 위치로 설정하세요. volumes: - '/etc/gitlab:/etc/gitlab' - '/var/log/gitlab:/var/log/gitlab' - '/var/opt/gitlab:/var/opt/gitlab' 다른 서버로 이동하거나 Docker 볼륨을 Linux 패키지 경로와 분리하려는 경우, 먼저 디렉터리를 새 위치에 복사하세요. $GITLAB_HOME 을 타깃 디렉터리로 설정합니다. export GITLAB_HOME=/srv/gitlab sudo mkdir -p $GITLAB_HOME 데이터, 로그, 구성 디렉터리를 복사(또는 이동)합니다. sudo cp -a /var/opt/gitlab $GITLAB_HOME/data sudo cp -a /var/log/gitlab $GITLAB_HOME/logs sudo cp -a /etc/gitlab $GITLAB_HOME/config 이동하려면 cp -a 대신 mv 를 사용하세요. [!warning] 컨테이너를 시작하기 전에 호스트 디렉터리의 소유권을 root:root 로 변경하지 마세요. 그렇게 하면 컨테이너가 시작되지 않으며, update-permissions 스크립트도 이후에 소유권을 수정하지 못합니다. 리포지터리 디렉터리가 존재하며 실제 디렉터리인지(깨진 심볼릭 링크가 아닌지) 확인하세요. ls -la $GITLAB_HOME/data/git-data/repositories 디렉터리가 없거나 깨진 심볼릭 링크인 경우 생성하세요. sudo mkdir -p $GITLAB_HOME/data/git-data