개발/Docker

Docker GitLab root 패스워드 변경

피터JK 2025. 11. 5. 19:30
728x90

1. 컨테이너 ID 또는 이름 확인

cmd 에서 실행 중인 GitLab 컨테이너의 이름 또는 ID를 확인해야 합니다.

docker ps

출력 결과에서 gitlab/gitlab-ce 또는 gitlab/gitlab-ee 이미지를 사용하는 컨테이너의 CONTAINER ID 또는 NAMES 열의 값을 확인합니다. (예시: 컨테이너 이름이 gitlab이라고 가정)


2. Rails Console 실행

확인된 컨테이너 이름(또는 ID)을 사용하여 docker exec 명령어로 GitLab Rails Console을 실행합니다.

docker exec -it <컨테이너_이름_또는_ID> gitlab-rails console

예시:

docker exec -it gitlab gitlab-rails console
  • docker exec: 실행 중인 컨테이너 내에서 명령을 실행합니다.
  • -it:
    • -i: Interactive (상호작용) 모드를 유지하여 콘솔 입력을 가능하게 합니다.
    • -t: TTY (Pseudo-terminal)을 할당하여 콘솔 출력을 보기 좋게 만듭니다.
  • gitlab-rails console: 컨테이너 내에서 GitLab Rails 콘솔을 시작하는 명령어입니다.

💡 참고:
콘솔이 로딩되는 데 시간이 다소 걸릴 수 있습니다 (수십 초). 콘솔이 완전히 시작될 때까지 기다리면 production 환경이 로딩되었다는 메시지와 함께 Ruby 코드 입력 프롬프트(> 또는 irb(main):001:0>)가 나타납니다.

 

3. GitLab root 사용자 비밀번호 재설정

  1. 관리자 계정(root 또는 id: 1 사용자) 찾기: 대부분의 경우 최초 관리자는 ID가 1이거나 사용자 이름이 root입니다.
    • 사용자 이름으로 찾기:
      user = User.find_by_username 'root'
      
    • ID로 찾기 (가장 확실함):
      user = User.find(1)
      
    • 이메일 주소로 찾기:
      user = User.find_by_email 'admin@example.com'
      
  2. 새로운 비밀번호 설정: 찾은 user 객체에 새로운 비밀번호와 비밀번호 확인 값을 설정합니다. (여기서 '새로운_비밀번호'를 원하는 비밀번호로 변경하세요.)
    user.password = '새로운_비밀번호'
    user.password_confirmation = '새로운_비밀번호'
    

     

  3. 변경 내용 저장:
    • 결과로 => true가 나오면 성공적으로 저장된 것입니다.
      user.save!
      
       

 


4.  콘솔 종료

작업을 완료한 후에는 콘솔에 다음 명령어를 입력하여 종료합니다.

quit
# 또는
exit

📋 기타 유용한 명령어 (Bash 셸 접근)

만약 단순히 컨테이너 내부 셸(Bash)에 접근하여 파일을 확인하거나 다른 명령을 실행하고 싶다면, 아래와 같이 실행할 수 있습니다.

docker exec -it <컨테이너_이름_또는_ID> /bin/bash
728x90