이 문서에서는 Docker 저장소 유형을 생성하고 컨테이너 이미지를 업로드하여 Artifactory를 Docker 레지스트리로 사용할 수 있도록 안내합니다.
이 예시를 따라 Docker 이외에 기타 npm, Maven, Go 등과 같은 다른 유형의 저장소를 생성할 수 있습니다. 저장소를 생성하기 위해서는 Admin permission 이 필요합니다.
저장소 생성 저장소 생성을 위해 다음 절차를 진행합니다.
관리 메뉴(Administration) → 저장소(Repositories)로 이동 후 저장소 생성(Create a Repository) 메뉴를 선택
저장소 구성 선택 생성하고자 하는 저장소의 구성을 선택합니다.
Pre-Built-Setup : 이미 구성된 다양한 유형의 저장소를 선택하여 빠르게 저장소를 생성할 수 있습니다. Virtual : 여러 저장소를 하나의 논리적 저장소로 사용할 수 있는 가상 저장소입니다. Local : 팀이 생성한 패키지나 아티팩트를 업로드하고 저장하는데 사용되는 저장소입니다. Remote : 외부 저장소를 프록시하고 캐시하는 역할을 하는 저장소입니다. Federated : 여러 JFrog Artifactory 인스턴스 간에 패키지를 미러링하거나 동기화할 때 사용되는 저장소입니다.
아티팩트 유형 선택 저장소 목록이 나타나면 생성하고자 하는 아티팩트의 유형을 선택합니다.
아티팩트 유형은 다음과 같습니다.
Docker npm Maven Gradle Go RPM Terraform Chef Bower ...
저장소 설정 및 완료 저장소 설정 후 생성을 완료합니다.
기본 설정 (Basic)
Repository Key (필수) : 저장소의 고유 식별자(이름) 입니다.Environments : 저장소가 속한 환경을 지정하는 옵션입니다. 환경은 일반적으로 개발(DEV), 테스트(QA), 스테이징(STAGE), 프로덕션(PROD) 등과 같은 소프트웨어 릴리스의 단계를 나타냅니다. General SettingsRepository Layout : 저장소 내에서 아티팩트가 어떻게 구조화되고 저장될지를 정의합니다. Public Description : 저장소에 대한 공개적인 설명을 입력합니다. 이 설명은 다른 사용자가 저장소를 볼 때 표시됩니다. Internal Description : 저장소에 대한 내부적인 설명을 입력합니다. 주로 팀 내에서 사용하는 정보를 기록합니다. Include / Exclude Patterns : 저장소에 포함 또는 제외될 패턴을 정의합니다. Docker SettingsAPI Version : Docker Registry API의 버전을 지정합니다. Max Unique Tags : 특정 이미지의 최대 태그 수를 제한합니다. 기본값 0은 무제한을 의미합니다. Docker Tag Retention : 태그의 보존 기간을 설정합니다. 설정 기간 후 자동으로 태그를 제거합니다. Enable Indexing in Xray 설정 : 이 설정을 활성화하면 Artifactory 저장소의 내용이 JFrog Xray에서 분석되고 보안 위협을 식별할 수 있도록 인덱싱됩니다. Repositories : Virtual 유형의 저장소 생성 시 하나의 가상 저장소로 묶을 로컬 및 원격 저장소를 선택하고 기본 저장소를 지정합니다. 고급 설정 (Advanced)
Advanced 설정에서는 속성 집합을 선택하여 파일이나 폴더에 부가적인 정보(파일의 버전, 작성자, 생성일 등)를 부여할 수 있습니다.
또한 우선순위 설정, CDN 다운로드 설정 등의 추가적인 옵션 설정이 가능합니다.
복제 (Replications)
Replications 설정은 해당 저장소의 콘텐츠를 다른 위치로 자동으로 복제하도록 구성하는 데 사용됩니다.
저장소에 이미지 업로드 Docker Push 생성한 저장소로 이미지를 push합니다.
sample Dockerfile
JFrog QuickStart example GitHub repository
#Option 1: for cloud subscription
FROM ${SERVER_NAME}.jfrog.io/${REPO_NAME}/ubuntu:16.04
#Option 2: for Self-Hosted subscription. Remove the above cloud command and use the below command
#FROM ${Artifactory_URL:Artifactory_PORT}/${REPO_NAME}/ubuntu:16.04
CMD printf "CONGRATULATIONS!!! You have just set up your first Docker repository with the new JFrog Platform!"
$ docker 로그인 ${SERVER_NAME}
$ docker build --tag ${SERVER_NAME} / ${REPO_NAME} /my-docker-image:latest .
$ docker push ${SERVER_NAME} / ${REPO_NAME} /my-docker-image:latest
저장소 이미지 확인 저장소 및 아티팩트(이미지)를 확인합니다.
Application → Artifacts에서 저장소 및 아티팩트의 세부 정보를 확인할 수 있습니다.
Set Me Up 클라이언트 토큰 생성 및 pull, push 커맨드를 확인할 수 있습니다.
Manage Repositories 저장소 관리 페이지로 이동합니다. 저장소의 설정을 편집할 수 있습니다.