Menu

메모용 개발 블로그

전체보기 > GitLab >

Windows11+GitLab+Docker 설치

2023-02-14 14:35:30

서론

Windows 11 + WSL2 + Docker 환경에서 GitLab CE 설치, 구동했던 기록입니다.

주의사항

  • 윈도우에서 구동하는 Docker는 오류가 상당히 많으니 주의바라며 되도록 공부용도로만 사용하는 것을 권장합니다.

  • OS 버전이 낮을 경우 WSL2 설치에서 막힐 수 있으므로 OS 업데이트를 선행 후 진행해주세요.

  • 윈도우 도커 데스크탑은 일정 규모 이상의 기업에서는 유료입니다. 공식 홈페이지에서 정책을 확인해주세요.

    (해당 된다면 도커 데스크탑을 제외하고 엔진만 설치하셔도 동일하게 진행가능합니다.)

환경

OS : Windows 11 Pro

OS 버전 : 22H2

WSL 버전 : 1.0.3.0

WSL OS 버전 : Ubuntu 22.04.1 LTS (GNU/Linux 5.15.79.1-microsoft-standard-WSL2 x86_64)

머신 환경 : 가상머신

WSL2 설치

시작메뉴 아이콘을 우클릭 후 관리자 권한으로 파워쉘을 여신 다음 진행하여야 합니다.

wsl --install

image-20230207113342115

설치 완료 후 재부팅하여 설치를 완료합니다.

이후에는 자동으로 설치되는 우분투의 초기 계정 생성이니 알아서 진행하면 됩니다.

Docker 설치

설치 가이드 : https://docs.docker.com/desktop/install/windows-install/

위 설치 가이드 페이지 들어가서 아래 버튼으로 다운로드

image-20230207130048740

image-20230207130141761

Ok 클릭

image-20230207130154422

설치를 기다린 다음 완료되면 윈도우를 재부팅하여 설치를 완료한다.

docker volume 생성

GitLab의 데이터 관련 파일들은 리눅스 파일 시스템에서 저장되어야 한다.

일반적으로 볼륨 마운트를 통해 윈도우에 사용하게 되면 오류가 발생하므로 별도의 볼륨을 만들어서 WSL에서 동작하도록 한다.

docker volume create gitlab-data

윈도우 깃랩+도커 설치

docker-compose.yml 파일을 생성한다.

version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      TZ: 'Asia/Seoul'
      GITLAB_OMNIBUS_CONFIG: |
        external_url '외부_노출_URL'
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - '호스트_경로/config:/etc/gitlab'
      - '호스트_경로/logs:/var/log/gitlab'
      - 'gitlab-data:/var/opt/gitlab'
      - '호스트_경로/backup:/var/opt/gitlab/backups'
    shm_size: 0

volumes:
  gitlab-data:
    external: true

위와 같이 입력하고 일부 설정은 본인에 맞게 수정한다.

설정한 파일로 도커를 올린다.

docker compose up -d

이후 기다리다 보면 끝난다.

image-20230207134010651

초기 비밀번호 확인

아이디는 root 이고, 비밀번호는 위 바인드한 경로에 config/initial_root_password에 있다.

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: q1NyMp1NwibVRn09qsZugI73S2i/+b63wYsSfmGKYmU=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

7행에 비밀번호가 위치하고 있는 모습을 확인할 수 있다.

마치며

대부분은 리눅스와 유사하나 작성일 기준으로는 일부 예외되는 이슈가 존재하니 이러한 부분을 참고하여 구동을 하길 바라며, 정말 특별한 일이 없는 경우 무료이고 안정성 좋은 리눅스에서 도커를 구동하는 것이 좋다.