VM의 gitlab을 컨테이너에 (이어서 버전 업 12.0.3 → 13.2.4) (이어서 docker-compose)

마지막: Docker로 VM에 역방향 프록시
이것은 이제 Docker를 사용할 수있게되고 싶은 필자의 시행 착오의 궤적입니다.

gitlab을 VM에서 Docker 컨테이너로 마이그레이션



지난번에는 기존의 VM 서버군에 Docker의 nginx에서 리버스 프록시했습니다.


이번에는 VM 서버의 애플리케이션 중 gitlab을 Docker 컨테이너로 마이그레이션하고 Develop을 닫습니다.


갑자기 한화 휴제 편리! docker-compose



시행착오하는 가운데, 몇번이나 컨테이너의 재작성을 실시했습니다.
처음에는 컨테이너 시작 명령을 메모해두고 터미널에 붙여넣었지만,
nginx의 컨테이너와 gitlab의 컨테이너 모두에서 그런 일을하는 것은 훌륭합니다.

이 때 마침내 docker-compose의 편리함을 이해하고 사용할 수있게되었습니다.

docker-compose는 이미지와 시작 옵션을 텍스트 기반으로 관리하는 응용 프로그램입니다.
docker-compose.yml 파일에 여러 컨테이너의 시작 설정을 작성하면,
이후는 커맨드 하나로 이들 컨테이너의 일제히 기동, 일제정지, 일제히 삭제등을 할 수 있게 됩니다.

docker-compose.yml 예제
version: '3'

services:
    deploy:
        image: nginx
        restart: always
        ports:
            - 80:80
            - 443:443
        volumes:
            - /home/fclef/docker/server/deploy/nginx/ssl:/etc/nginx/ssl
            - /home/fclef/docker/server/deploy/nginx/conf:/etc/nginx/conf.d
            - /home/fclef/docker/server/deploy/nginx/params:/etc/nginx/params
            - /home/fclef/docker/server/deploy/letsencrypt:/etc/letsencrypt
            - /home/fclef/docker/server/deploy/content/html:/usr/share/nginx/html
            - /home/fclef/docker/server/deploy/script:/tmp/script

    gitlab:
        image: gitlab/gitlab-ce:latest
        restart: always
        ports:
            - 50080:80
            - 50443:443
        environment:
            GITLAB_OMNIBUS_CONFIG: |
                external_url 'http://localhost'
        volumes:
            - /home/fclef/docker/server/gitlab/config:/etc/gitlab
            - /home/fclef/docker/server/gitlab/logs:/var/log/gitlab
            - /home/fclef/docker/server/gitlab/data:/var/opt/gitlab
        depends_on:
            - deploy

거친 절차


  • gitlab 백업
  • gitlab 컨테이너 시작
  • gitlab 복원

  • 이것뿐인데, 상당히 걸렸습니다. .

    gitlab 백업



    참고 : kuruwi의 일기 GitLab 서버 마이그레이션

    참고처에 써 있는 대로입니다만,
    # gitlab-rake gitlab:backup:create
    

    에서 /var/opt/gitlab/backups 에 응용 프로그램 데이터의 백업을 만들고,/etc/gitlab 아래의 설정 파일들을 마이그레이션하기 쉽게 압축해 두면 됩니다.

    컨테이너 시작



    참고 : GitLab Docs - GitLab Docker 이미지

    할애.
    이미지는 gitlab/gitlab-ce:latest입니다. (→오류가 발생했습니다.)

    복원



    할 수 없습니다.
    오류가 발생합니다.
    백업원의 버젼이 12.0.3이었는데, latest(13.2.4)로 하려고 했기 때문에,
    버전 너무 날아가서 오류가 발생했습니다.

    오류 해결



    13.2.4가 되려면 13.0.x 시스템이어야 합니다.
    그리고, 13.0.x계로 하려면 , 12.x.x계의 최신으로 할 필요가 있었습니다.
    따라서 다음 절차를 수행했습니다.
  • 12.0.3 이미지에서 컨테이너를 시작하고 복원
  • 12.10.14의 이미지로 컨테이너를 재작성 → 기동시에 데이터가 버젼 업된다
  • 13.0.12의 이미지로 컨테이너를 재작성 → 기동시에 데이터가 버젼 업된다
  • latest (13.2.4)의 이미지로 컨테이너를 재작성 → 시작시 데이터가 버전 업된다

  • 일단 이제 Docker 컨테이너에서 gitlab이 실행되기 시작했습니다.

    다음 번 : Docker에서 PostgreSQL 및 OwnCloud

    좋은 웹페이지 즐겨찾기