SlideShare a Scribd company logo
1 of 34
Sonatype nexus 로 docker
registry 관리하기
정광섭
Software 개발 패러다임 변화
 규모가 커지고 요구사항 ↑ 일정 ↓
 자체 개발에서 외부의 모듈과 라이브러리 사용
 외부 모듈 조달, 이를 활용한 제품 개발, 유통의
중요성 증대
의존성 지옥(Dependency Hell)
복잡도가 높아지면서 모듈간의 의존성이 충돌
유의적 버전(Semantic Versioning)
 호환성을 위해 라이브러리 버전 이름 짓는 규칙
 기존 버전과 호환되지 않게 API가 변경되면 “MAJOR 버전"을
올린다.
기존 버전과 호환되면서 새로운 기능이 추가 되었을 때는
"MINOR 버전"을 올린다.
기존 버전과 호환되면서 버그를 수정했을 경우 "PATCH 버전" 을
올린다.
패키지 관리자 (Package Manager)
 의존성 지옥을 해결하기 위해 패키지
설치/삭제/관리 수행
 Composer, maven, npm, Bunlder 등이 있음
저장소 (Repository)
 패키지 관리자가 패키지를 올리고 다운받고
관리하는 기능을 제공하는 중앙 서비스
 언어마다 별도의 저장소 제공
 https://packagist.org/ - PHP
 https://pypi.python.org - Python
 https://repo1.maven.org/ - Java
저장소 관리자(Repository Manager)
 저장소 관리 기능을 제공하는 SW
 오늘 소개할 Nexus가 저장소 관리자
Edward Deming 박사(1990 ~ 1993)
 품질관리의 대가로 PDCA 싸이클 개발
 만들면 팔리던 당시의 미 제조업계에서는 외면
Edward Deming 박사
 일본에 초청받아 제조업에 품질관리 전파
 도요타의 간반(看板) , 지도카(自動化), JIT(Just-In-
Time) 등에 지대한 영향
Deming 의 품질이론
 “품질 향상은 실제 비용을 낮춘다“
 “모든 직원들은 자기가 만든 제품의 품질에
대해서 스스로 책임을 지는 품질 책임체제를
구축해야 한다.”
 생산라인에서 가장 중요한 것은 소비자다.
소비자를 만족시켜 주는 일이 회사의 모든
사람들이 해결해야 할 최우선 과제
 품질의 실패는 현장 관리자의 실패가
아니라 경영진의 책임
Sonatype
 Software Supply Chain
솔루션 제조사
 데밍박사가 자동차 업계에
수행한 일을 SW 업계에
적용하는 사업 모델
Sonatype Nexus
 Sonatype 사가 만든 저장소 관리자가 Nexus
 검색시에는 꼭 sonatype 을 붙여주세요..(아니면
구글폰만 나와요..)
Nexus 장점 - cache
 메인 저장소의 cache 역할을 수행합니다.
 그래서 빌드시 매우 매우 빠릅니다.
 packagist 만 느린게 아니라 maven central, npmjs
등 중앙 저장소는 사용자가 많고 해외에 있어서
다 느립니다.
Nexus 장점 – 자체 모듈 배포
 사설(Private) 저장소를 만들 수 있습니다.
 외부에 공개하고 싶지 않은 자체 개발 모듈은
여기에 올리면 됩니다.
Nexus 장점 – 상용 모듈 조달/관리
 상용으로 판매하는 모듈은 중앙 저장소에
없습니다. (당연하겠죠)
 상용을 사서 패키지 관리자에서 사용하려면
사설 저장소가 필요합니다.
Nexus 장점 – 재배포 불가 lib
 상용은 아니지만 재배포 라이선스 문제가 있는
모듈도 중앙 저장소에 없습니다.
 오라클 JDBC, MSSQL JDBC 등은 벤더에서 다운
받아서 빌드시 사용해야 하는데 매우매우
귀찮습니다.
Nexus 장점 - 보안
 외부망 연결이 불가한 네트웍일 경우 중앙
저장소에 연결을 못해서 빌드가 안 됩니다.
(대부분의 SI)
 nexus 서버만 외부 연결하게 설정하면 빌드가
가능합니다.
Nexus 장점 – 중앙 저장소 장애시
 중앙 저장소가 장애나도 내부 빌드는 이상무
 npm-leftpad 삭제등 중앙 저장소에 장애나
이상이 발생해도 우리는 열심히 개발하고
빌드하면 됩니다. (아 장점이 아닌가??)
Nexus 는 대격변중
 기존 Java 의 저장소 관리자로 잘 팔았지만…..
 Node, python 등 Script 언어의 약진
 프론트엔드의 중요성 증대
 이에 맞게 nexus 3 에서는 대격변중
Nexus 장점 – 다양한 저장소 지원
Nexus 설치
 DBMS 등 외부 의존성이 전혀 없음
 오직 JDK 1.8 만 필요
 압축 풀고 실행하면 끝이므로 docker 로 설치할
필요가 없음
 Java 만 사용한다면 nexus 2, node, docker 등도
사용할 예정이면 nexus 3 설치(저장소 포맷 호환 안됨)
Repository Type
Repository Type
 Proxy: 외부(중앙) 저장소 캐싱(registry.npmjs.org)
 Hosted: 자체 모듈 저장소
 Group: Proxy, Hosted 마다 각각 접근 URL 이
생기므로 패키지 매니저에서 불편함.
이 때문에 여러 저장소를 단일 URL 로 접근할 수
있도록 묶은 저장소
Docker Proxy Repository
Docker Proxy Repository
 Remote storage
- https://registry-1.docker.io
 Enable Docker V1 API 체크
 Use Docker Hub 체크
Nexus HTTP Connector
 nexus 에 등록한 저장소는 URL 로 접근
가능(http://localhost:8081/repository/docker-proxy/)
 URL 패턴은 Repository 밑에 저장소 이름
 하지만 docker는 무조건 repository:port/v1
URL이어야 함!!
Nexus HTTP Connector
 이때문에 docker 저장소는 HTTP connector 를
만들고 해당 포트로 연결해야 함

Docker insecure repository
 docker 는 https 만 사용하므로 DOCKER_OPTS="--
insecure-registry :8004“ 추가 필요
Docker 연결/검색
 docker registry 와 사용법 동일
 docker login localhost:8444 –u admin –p admin123
 docker search localhost:8444/postgres

Docker pull/push
 docker pull localhost:8444/ubuntu
 docker pull localhost:8444/postgresq:9.4
 docker push localhost:8444/hello-world:mytag
 docker push localhost:8444/ubuntu:lsof
Docker pull/push
Nexus vs Docker Registry
 동일한 역할 수행(Docker private Registry)
 nexus 는 하나로 다양한 저장소 서비스 가능
 nexus 는 관리 UI 가 있음
감사합니다.

More Related Content

What's hot

DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환Amazon Web Services Korea
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법Open Source Consulting
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...Amazon Web Services Korea
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중Amazon Web Services Korea
 
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAmazon Web Services Japan
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDutyAmazon Web Services Japan
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정Arawn Park
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...Amazon Web Services Korea
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAmazon Web Services Japan
 
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
AWS Step Functionsを使ったバックアップシステム
AWS Step Functionsを使ったバックアップシステムAWS Step Functionsを使ったバックアップシステム
AWS Step Functionsを使ったバックアップシステムAkihiro Kamiyama
 
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기YongSung Yoon
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用Amazon Web Services Japan
 

What's hot (20)

DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
 
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
 
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
 
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017
 
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
서버리스 앱 배포 자동화 (김필중, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
AWS Step Functionsを使ったバックアップシステム
AWS Step Functionsを使ったバックアップシステムAWS Step Functionsを使ったバックアップシステム
AWS Step Functionsを使ったバックアップシステム
 
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 

Viewers also liked

Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨KwangSeob Jeong
 
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성KwangSeob Jeong
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포KwangSeob Jeong
 
Php faker 를 활용한 의미있는 테스트 데이타 생성
Php faker 를 활용한 의미있는 테스트 데이타 생성Php faker 를 활용한 의미있는 테스트 데이타 생성
Php faker 를 활용한 의미있는 테스트 데이타 생성KwangSeob Jeong
 
HOM Presentation Herbalife
HOM Presentation HerbalifeHOM Presentation Herbalife
HOM Presentation HerbalifeChristian Cornet
 
LAPP/SELinux - A secure web application stack powered by SELinux
LAPP/SELinux - A secure web application stack powered by SELinuxLAPP/SELinux - A secure web application stack powered by SELinux
LAPP/SELinux - A secure web application stack powered by SELinuxKohei KaiGai
 
201608 판다소프트회사소개서 국문
201608 판다소프트회사소개서 국문201608 판다소프트회사소개서 국문
201608 판다소프트회사소개서 국문Dongkun Lee
 
서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드KwangSeob Jeong
 
Tecnicas e instrumentos de evaluación
Tecnicas e instrumentos de evaluaciónTecnicas e instrumentos de evaluación
Tecnicas e instrumentos de evaluaciónEvelin Guadalupe
 
Evolución del Hombre en la Sociedad.
Evolución del Hombre en la Sociedad. Evolución del Hombre en la Sociedad.
Evolución del Hombre en la Sociedad. Loyda Carrillo
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영Tae Young Lee
 
Capacitancia douvin chaparro
Capacitancia douvin chaparroCapacitancia douvin chaparro
Capacitancia douvin chaparrosddfghdt5
 
Three easy ways to lose weight
Three easy ways to lose weightThree easy ways to lose weight
Three easy ways to lose weightNaim Khalid
 

Viewers also liked (20)

Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
Php faker 를 활용한 의미있는 테스트 데이타 생성
Php faker 를 활용한 의미있는 테스트 데이타 생성Php faker 를 활용한 의미있는 테스트 데이타 생성
Php faker 를 활용한 의미있는 테스트 데이타 생성
 
Psicologaquinto 2 carlos
Psicologaquinto 2 carlosPsicologaquinto 2 carlos
Psicologaquinto 2 carlos
 
HOM Presentation Herbalife
HOM Presentation HerbalifeHOM Presentation Herbalife
HOM Presentation Herbalife
 
LAPP/SELinux - A secure web application stack powered by SELinux
LAPP/SELinux - A secure web application stack powered by SELinuxLAPP/SELinux - A secure web application stack powered by SELinux
LAPP/SELinux - A secure web application stack powered by SELinux
 
201608 판다소프트회사소개서 국문
201608 판다소프트회사소개서 국문201608 판다소프트회사소개서 국문
201608 판다소프트회사소개서 국문
 
서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드서버 아키텍처 이해를 위한 프로세스와 쓰레드
서버 아키텍처 이해를 위한 프로세스와 쓰레드
 
Tecnicas e instrumentos de evaluación
Tecnicas e instrumentos de evaluaciónTecnicas e instrumentos de evaluación
Tecnicas e instrumentos de evaluación
 
Evolución del Hombre en la Sociedad.
Evolución del Hombre en la Sociedad. Evolución del Hombre en la Sociedad.
Evolución del Hombre en la Sociedad.
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
 
Managed Services
Managed ServicesManaged Services
Managed Services
 
Principios y mecanismos de garantía laboral
Principios y mecanismos de garantía laboralPrincipios y mecanismos de garantía laboral
Principios y mecanismos de garantía laboral
 
Hobby to entrepreneurship transition
Hobby to entrepreneurship transitionHobby to entrepreneurship transition
Hobby to entrepreneurship transition
 
Capacitancia douvin chaparro
Capacitancia douvin chaparroCapacitancia douvin chaparro
Capacitancia douvin chaparro
 
RCRA training
RCRA trainingRCRA training
RCRA training
 
Contabilidad
ContabilidadContabilidad
Contabilidad
 
Three easy ways to lose weight
Three easy ways to lose weightThree easy ways to lose weight
Three easy ways to lose weight
 

Similar to Sonatype nexus 로 docker registry 관리하기

[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호용호 최
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 mWonchang Song
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편negabaro
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함Ji-Woong Choi
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발Jinuk Kim
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017devCAT Studio, NEXON
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Nanha Park
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for AndroidSangkyoon Nam
 
모듈시스템과 webpack
모듈시스템과 webpack모듈시스템과 webpack
모듈시스템과 webpackDataUs
 
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라NAVER D2
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드수정 김
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
[오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core [오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core Ji-Woong Choi
 
최근 Javascript framework 조사
최근 Javascript framework 조사최근 Javascript framework 조사
최근 Javascript framework 조사Kichul Jung
 

Similar to Sonatype nexus 로 docker registry 관리하기 (20)

Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 m
 
Docker Container
Docker ContainerDocker Container
Docker Container
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android
 
모듈시스템과 webpack
모듈시스템과 webpack모듈시스템과 webpack
모듈시스템과 webpack
 
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
[오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core [오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core
 
최근 Javascript framework 조사
최근 Javascript framework 조사최근 Javascript framework 조사
최근 Javascript framework 조사
 

Sonatype nexus 로 docker registry 관리하기

  • 1. Sonatype nexus 로 docker registry 관리하기 정광섭
  • 2. Software 개발 패러다임 변화  규모가 커지고 요구사항 ↑ 일정 ↓  자체 개발에서 외부의 모듈과 라이브러리 사용  외부 모듈 조달, 이를 활용한 제품 개발, 유통의 중요성 증대
  • 3. 의존성 지옥(Dependency Hell) 복잡도가 높아지면서 모듈간의 의존성이 충돌
  • 4. 유의적 버전(Semantic Versioning)  호환성을 위해 라이브러리 버전 이름 짓는 규칙  기존 버전과 호환되지 않게 API가 변경되면 “MAJOR 버전"을 올린다. 기존 버전과 호환되면서 새로운 기능이 추가 되었을 때는 "MINOR 버전"을 올린다. 기존 버전과 호환되면서 버그를 수정했을 경우 "PATCH 버전" 을 올린다.
  • 5. 패키지 관리자 (Package Manager)  의존성 지옥을 해결하기 위해 패키지 설치/삭제/관리 수행  Composer, maven, npm, Bunlder 등이 있음
  • 6. 저장소 (Repository)  패키지 관리자가 패키지를 올리고 다운받고 관리하는 기능을 제공하는 중앙 서비스  언어마다 별도의 저장소 제공  https://packagist.org/ - PHP  https://pypi.python.org - Python  https://repo1.maven.org/ - Java
  • 7. 저장소 관리자(Repository Manager)  저장소 관리 기능을 제공하는 SW  오늘 소개할 Nexus가 저장소 관리자
  • 8. Edward Deming 박사(1990 ~ 1993)  품질관리의 대가로 PDCA 싸이클 개발  만들면 팔리던 당시의 미 제조업계에서는 외면
  • 9. Edward Deming 박사  일본에 초청받아 제조업에 품질관리 전파  도요타의 간반(看板) , 지도카(自動化), JIT(Just-In- Time) 등에 지대한 영향
  • 10. Deming 의 품질이론  “품질 향상은 실제 비용을 낮춘다“  “모든 직원들은 자기가 만든 제품의 품질에 대해서 스스로 책임을 지는 품질 책임체제를 구축해야 한다.”
  • 11.  생산라인에서 가장 중요한 것은 소비자다. 소비자를 만족시켜 주는 일이 회사의 모든 사람들이 해결해야 할 최우선 과제  품질의 실패는 현장 관리자의 실패가 아니라 경영진의 책임
  • 12. Sonatype  Software Supply Chain 솔루션 제조사  데밍박사가 자동차 업계에 수행한 일을 SW 업계에 적용하는 사업 모델
  • 13. Sonatype Nexus  Sonatype 사가 만든 저장소 관리자가 Nexus  검색시에는 꼭 sonatype 을 붙여주세요..(아니면 구글폰만 나와요..)
  • 14. Nexus 장점 - cache  메인 저장소의 cache 역할을 수행합니다.  그래서 빌드시 매우 매우 빠릅니다.  packagist 만 느린게 아니라 maven central, npmjs 등 중앙 저장소는 사용자가 많고 해외에 있어서 다 느립니다.
  • 15. Nexus 장점 – 자체 모듈 배포  사설(Private) 저장소를 만들 수 있습니다.  외부에 공개하고 싶지 않은 자체 개발 모듈은 여기에 올리면 됩니다.
  • 16. Nexus 장점 – 상용 모듈 조달/관리  상용으로 판매하는 모듈은 중앙 저장소에 없습니다. (당연하겠죠)  상용을 사서 패키지 관리자에서 사용하려면 사설 저장소가 필요합니다.
  • 17. Nexus 장점 – 재배포 불가 lib  상용은 아니지만 재배포 라이선스 문제가 있는 모듈도 중앙 저장소에 없습니다.  오라클 JDBC, MSSQL JDBC 등은 벤더에서 다운 받아서 빌드시 사용해야 하는데 매우매우 귀찮습니다.
  • 18. Nexus 장점 - 보안  외부망 연결이 불가한 네트웍일 경우 중앙 저장소에 연결을 못해서 빌드가 안 됩니다. (대부분의 SI)  nexus 서버만 외부 연결하게 설정하면 빌드가 가능합니다.
  • 19. Nexus 장점 – 중앙 저장소 장애시  중앙 저장소가 장애나도 내부 빌드는 이상무  npm-leftpad 삭제등 중앙 저장소에 장애나 이상이 발생해도 우리는 열심히 개발하고 빌드하면 됩니다. (아 장점이 아닌가??)
  • 20. Nexus 는 대격변중  기존 Java 의 저장소 관리자로 잘 팔았지만…..  Node, python 등 Script 언어의 약진  프론트엔드의 중요성 증대  이에 맞게 nexus 3 에서는 대격변중
  • 21. Nexus 장점 – 다양한 저장소 지원
  • 22. Nexus 설치  DBMS 등 외부 의존성이 전혀 없음  오직 JDK 1.8 만 필요  압축 풀고 실행하면 끝이므로 docker 로 설치할 필요가 없음  Java 만 사용한다면 nexus 2, node, docker 등도 사용할 예정이면 nexus 3 설치(저장소 포맷 호환 안됨)
  • 24. Repository Type  Proxy: 외부(중앙) 저장소 캐싱(registry.npmjs.org)  Hosted: 자체 모듈 저장소  Group: Proxy, Hosted 마다 각각 접근 URL 이 생기므로 패키지 매니저에서 불편함. 이 때문에 여러 저장소를 단일 URL 로 접근할 수 있도록 묶은 저장소
  • 26. Docker Proxy Repository  Remote storage - https://registry-1.docker.io  Enable Docker V1 API 체크  Use Docker Hub 체크
  • 27. Nexus HTTP Connector  nexus 에 등록한 저장소는 URL 로 접근 가능(http://localhost:8081/repository/docker-proxy/)  URL 패턴은 Repository 밑에 저장소 이름  하지만 docker는 무조건 repository:port/v1 URL이어야 함!!
  • 28. Nexus HTTP Connector  이때문에 docker 저장소는 HTTP connector 를 만들고 해당 포트로 연결해야 함 
  • 29. Docker insecure repository  docker 는 https 만 사용하므로 DOCKER_OPTS="-- insecure-registry :8004“ 추가 필요
  • 30. Docker 연결/검색  docker registry 와 사용법 동일  docker login localhost:8444 –u admin –p admin123  docker search localhost:8444/postgres 
  • 31. Docker pull/push  docker pull localhost:8444/ubuntu  docker pull localhost:8444/postgresq:9.4  docker push localhost:8444/hello-world:mytag  docker push localhost:8444/ubuntu:lsof
  • 33. Nexus vs Docker Registry  동일한 역할 수행(Docker private Registry)  nexus 는 하나로 다양한 저장소 서비스 가능  nexus 는 관리 UI 가 있음