[Docker] 넥서스 저장소 3 (Nexus Repository 3) 도커 서버 생성 및 실행 [docker-compose]

본 설치 방법은 데비안 계열의 Ubuntu 운영체제를 기준으로 설명한다.


1. 넥서스 저장소 3 (Nexus Repository 3)

  • 설명
    • 넥서스 저장소는 개발자 및 팀에서 소프트웨어 개발과 빌드에 대해 산출물 및 저장소 관리를 위한 도구이다.
  • 장점
    • 다양한 종류의 사설 저장소 지원한다.
    • 프록시를 통한 외부 저장소 연동이 가능하다.
    • 사용자 보안 및 권한 기능이 있다.
  • 단점
    • 무료 및 유료 버전에 대해 기능 차이가 있다.
    • 저장소를 사용하는 장치마다 저장소 재설정하는게 번거롭다.
  • 개인적인 의견
    • 넥서스 저장소는 잘 사용하면 개인 및 회사에서 소프트웨어 결과물을 관리하고 배포하는데 매우 만족스러운 사용이 가능하다.
    • 다만, 많은 사람이 사용하는 경우에 보안 및 권한 설정이 매우 번거롭다.
  • 공식 사이트

2. 준비단계

  • docker 및 docker-compose 가상환경 설치 및 구축
    • 아래 링크 참조.

주의사항

  • Nexus3 설치 시 디스크 공간은 최소 20GB 이상으로 실행하는 것을 추천한다.

3. 설치 방법

  • docker-compose.yaml 파일 생성
version: "3"

services:
  nexus3_repo:
    image: sonatype/nexus3:latest
    container_name: nexus3_repo
    restart: always
    volumes:
      - "./nexus-data:/nexus-data"
    ports:
      - "80:8081"

  • docker-compose 실행
    • 아래 명령어를 실행하면 이미지를 다운로드하고 nexus3를 백그라운드로 실행한다.
    • 넥서스3 폴더 생성 및 권한 변경은 nexus3 실행 시에 권한 문제로 변경이 필요하다.
# Nexus 폴더 생성
mkdir nexus-data

# Nexus 폴더 권한 변경
chmod 777 nexus-data

# docker-compose 실행 명령어
docker-compose up -d

  • docker-compose 상태 확인
    • 아래 명령어를 실행을 통해 Nexus3의 상태에 대해 조회한다.
    • 아래 캡처화면과 같이 STATUS가 Up상태이면 정상이다.
# docker-compose 조회 명령어
docker-compose ps

4. 접속 및 설정 방법

  • 웹브라우저를 통해 “http://IP주소”로 접속한다.
  • ex) http:// 192.168.1.100
  • 접속 방법
    • 웹브라우저를 통해 “http://IP주소:8443″로 접속한다.
    • ex) http:// 192.168.1.100:8443
    • 초기 계정 정보는 아래와 같다.
      • 계정 : admin
      • 비밀번호 : 초기 root 비밀번호 파일 위치 [./nexus-data/admin.password]
      • 아래 그림과 같이 초기 admin 비밀번호를 조회하면 확인하고 사용하면 된다.

  • 접속화면 – 로그인
    • 오른쪽 상단의 “Sign In” 버튼 클릭 후, 상기의 admin 계정으로 접속한다.
    • 접속화면 아래와 같이 초기 설정 한다.
      • admin 계정 비밀번호 재설정
      • anonymous(익명사용자) 허용 여부

  • 접속화면 – 저장소 화면
    • 로그인이 성공화면 Nexus3 저장소 화면 출력되고 이용하면 된다.

5. 추후 관리 (참고사항)

  • 사용자 계정 생성
  • 사용자 계정 권한 설정
  • 사용 저장소 생성
    • 저장소 유형
      • Private : 사설 저장소 기능
      • Proxy : 상위 저장소 프록시 기능
      • Group : 사설 및 상위 저장소 그룹 기능
  • 아래 그림과 같이 다양한 저장소를 지원하며 설정하고 사용한다.

감사합니다.

Leave a Comment