Nexus Repository Manager on Docker Toolbox
9501 단어 dockertoolbox도커DockerHubMaven
소개
Docker와 Maven의 아티팩트를 저장하는 Nexus Repository Manager를 Docker on Windows10 PC로 구축해 보았습니다.
DockerHub에서 이미지를 풀어서 시작할 뿐이었지만 Docker용 리포지토리로 사용하려면 약간 추가 설정이 필요했습니다. Maven용 리포지토리로 사용한다면, pull하고 시작하는 것만으로 바로 사용할 수 있습니다.
1. 전제
다음 환경에서 작동하는 내용을 설명합니다.
Windows 10 Home (64bit)
VirtualBox 5.0.26
Docker Toolbox (Docker version 1.12.6, build 78d1802)
2. 사전 준비
2.1 start.sh 수정
C:\Program Files\Docker Toolbox\start.sh의 60행당 create 부분에 --engine-insecure-registry mydocker:10080 매개변수를 추가합니다. "mydocker"부분은 2.2에서 수정하는 호스트와 동기화해야합니다.
"${DOCKER_MACHINE}" create --engine-insecure-registry mydocker:10080 -d virtualbox $PROXY_ENV "${VM}"
2.2 호스트 수정
VirtualBox에서 시작하는 Docker Toolbox용 Linux 호스트에 다음을 추가합니다.
DockerHub 캐시로 Nexus Repository Manager를 사용할 때 필요합니다.
IP 주소는 Docker가 할당한 것에 나중에 변경하므로 임시 IP로 상관하지 않습니다.
※Maven용으로만 사용하는 경우는 특히 불필요합니다
192.168.00.100 mydocker
3. Docker 이미지 가져오기 및 시작
다음 명령을 사용하여 Nexus Repository Manager의 Docker 이미지를 가져오고 시작합니다.
이번에는 8081과 10080 포트를 이용합니다. 용도는 나중에.
$docker run -d -p 8081:8081 -p 10080:10080 --name nexus sonatype/nexus3
4. Nexus Repository Manager에 로그인
관리 화면에 관리자 ID로 로그인합니다. (ID:admin, Password:admin123)
※ IP 주소는 docker-machine ls에서 확인할 수 있습니다. 포트에는 8081이 할당됩니다.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.13.0
5. DockerHub 프록시 설정
설정 메뉴에서 Create repository를 선택합니다.
Docker(프록시)를 선택합니다.
Name:DockerHub, HTTP Connector:10080,Remote storage: https://registry-1.docker.io, Docker Index:Use Docker Hub를 입력하고 화면 하단으로 스크롤한 다음 Create Repository를 클릭합니다.
성공하면 다음 행이 리포지토리 목록에 추가됩니다.
6. Docker Proxy를 통해 Docker 이미지 가져오기
다음 명령으로 alpine을 pull 해보십시오.
$ docker pull mydocker:10080/alpine
Using default tag: latest
latest: Pulling from alpine
0a8490d0dfd3: Already exists
Digest: sha256:dfbd4a3a8ebca874ebd2474f044a0b33600d4523d03b0df76e5c5986cb02d7e8
Status: Downloaded newer image for mydocker:10080/alpine:latest
※ 이 작업을 수행하려면 사전 준비에서 설정한 호스트의 IP 주소와 Nexus Repository Manager가 실행 중인 IP 주소가 동일해야 합니다. 로컬 리포지토리로서 insecure인(HTTP) 접속을 하기 위해서입니다.
Nexus Repository Manager의 Components를 확인해 보면 제대로 캐시됩니다.
7. Maven Proxy를 통해 아티팩트 얻기
Eclipse에서 Maven project를 만들고 pom.xml을 다음과 같이 준비합니다.
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sample</groupId>
<artifactId>sample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
Eclipse에서 mvn clean을 실행해 보니 다음과 같이 proxy를 통해 플러그인 등을 얻을 수있었습니다.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 2.1 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom (13 KB at 19.0 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar (25 KB at 30.8 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ sample ---
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom (4 KB at 7.4 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 13.7 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 13.2 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar (221 KB at 132.8 KB/sec)
[INFO] Deleting C:\dev\eclipse-ws\sample\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.543 s
[INFO] Finished at: 2017-01-29T22:46:56+09:00
[INFO] Final Memory: 6M/123M
[INFO] ------------------------------------------------------------------------
8. 끝에
일부러 Docker로 Nexus Repository Manager를 세울 필요도 없을지도 모릅니다만, 이번 설정한 내용으로 Docker image를 작성해 두면, 프로젝트마다 사용하기 쉬울 수도 있겠지요.
메모
본문과는 관계 없습니다만, Docker로 기동하고 있는 nexus의 OS에 루트로 로그인하는 방법을 알 수 있었으므로 메모.
login to nexus container with user id = 0 (root)$docker exec -u 0 -it nexus bash
참고 페이지
비공개 Docker-Registry에 http로 연결 [Docker-Toolbox Windows]
만져서 이해하는 Docker 입문
login to nexus container with user id = 0 (root)
sonatype/nexus3
Nexus Repository의 Docker Registry를 사용하여 오프라인으로 Concourse CI 사용
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tworks55/items/ff31951494659ce75b86
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 환경에서 작동하는 내용을 설명합니다.
Windows 10 Home (64bit)
VirtualBox 5.0.26
Docker Toolbox (Docker version 1.12.6, build 78d1802)
2. 사전 준비
2.1 start.sh 수정
C:\Program Files\Docker Toolbox\start.sh의 60행당 create 부분에 --engine-insecure-registry mydocker:10080 매개변수를 추가합니다. "mydocker"부분은 2.2에서 수정하는 호스트와 동기화해야합니다.
"${DOCKER_MACHINE}" create --engine-insecure-registry mydocker:10080 -d virtualbox $PROXY_ENV "${VM}"
2.2 호스트 수정
VirtualBox에서 시작하는 Docker Toolbox용 Linux 호스트에 다음을 추가합니다.
DockerHub 캐시로 Nexus Repository Manager를 사용할 때 필요합니다.
IP 주소는 Docker가 할당한 것에 나중에 변경하므로 임시 IP로 상관하지 않습니다.
※Maven용으로만 사용하는 경우는 특히 불필요합니다
192.168.00.100 mydocker
3. Docker 이미지 가져오기 및 시작
다음 명령을 사용하여 Nexus Repository Manager의 Docker 이미지를 가져오고 시작합니다.
이번에는 8081과 10080 포트를 이용합니다. 용도는 나중에.
$docker run -d -p 8081:8081 -p 10080:10080 --name nexus sonatype/nexus3
4. Nexus Repository Manager에 로그인
관리 화면에 관리자 ID로 로그인합니다. (ID:admin, Password:admin123)
※ IP 주소는 docker-machine ls에서 확인할 수 있습니다. 포트에는 8081이 할당됩니다.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.13.0
5. DockerHub 프록시 설정
설정 메뉴에서 Create repository를 선택합니다.
Docker(프록시)를 선택합니다.
Name:DockerHub, HTTP Connector:10080,Remote storage: https://registry-1.docker.io, Docker Index:Use Docker Hub를 입력하고 화면 하단으로 스크롤한 다음 Create Repository를 클릭합니다.
성공하면 다음 행이 리포지토리 목록에 추가됩니다.
6. Docker Proxy를 통해 Docker 이미지 가져오기
다음 명령으로 alpine을 pull 해보십시오.
$ docker pull mydocker:10080/alpine
Using default tag: latest
latest: Pulling from alpine
0a8490d0dfd3: Already exists
Digest: sha256:dfbd4a3a8ebca874ebd2474f044a0b33600d4523d03b0df76e5c5986cb02d7e8
Status: Downloaded newer image for mydocker:10080/alpine:latest
※ 이 작업을 수행하려면 사전 준비에서 설정한 호스트의 IP 주소와 Nexus Repository Manager가 실행 중인 IP 주소가 동일해야 합니다. 로컬 리포지토리로서 insecure인(HTTP) 접속을 하기 위해서입니다.
Nexus Repository Manager의 Components를 확인해 보면 제대로 캐시됩니다.
7. Maven Proxy를 통해 아티팩트 얻기
Eclipse에서 Maven project를 만들고 pom.xml을 다음과 같이 준비합니다.
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sample</groupId>
<artifactId>sample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
Eclipse에서 mvn clean을 실행해 보니 다음과 같이 proxy를 통해 플러그인 등을 얻을 수있었습니다.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 2.1 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom (13 KB at 19.0 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar (25 KB at 30.8 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ sample ---
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom (4 KB at 7.4 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 13.7 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 13.2 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar (221 KB at 132.8 KB/sec)
[INFO] Deleting C:\dev\eclipse-ws\sample\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.543 s
[INFO] Finished at: 2017-01-29T22:46:56+09:00
[INFO] Final Memory: 6M/123M
[INFO] ------------------------------------------------------------------------
8. 끝에
일부러 Docker로 Nexus Repository Manager를 세울 필요도 없을지도 모릅니다만, 이번 설정한 내용으로 Docker image를 작성해 두면, 프로젝트마다 사용하기 쉬울 수도 있겠지요.
메모
본문과는 관계 없습니다만, Docker로 기동하고 있는 nexus의 OS에 루트로 로그인하는 방법을 알 수 있었으므로 메모.
login to nexus container with user id = 0 (root)$docker exec -u 0 -it nexus bash
참고 페이지
비공개 Docker-Registry에 http로 연결 [Docker-Toolbox Windows]
만져서 이해하는 Docker 입문
login to nexus container with user id = 0 (root)
sonatype/nexus3
Nexus Repository의 Docker Registry를 사용하여 오프라인으로 Concourse CI 사용
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tworks55/items/ff31951494659ce75b86
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
"${DOCKER_MACHINE}" create --engine-insecure-registry mydocker:10080 -d virtualbox $PROXY_ENV "${VM}"
192.168.00.100 mydocker
다음 명령을 사용하여 Nexus Repository Manager의 Docker 이미지를 가져오고 시작합니다.
이번에는 8081과 10080 포트를 이용합니다. 용도는 나중에.
$docker run -d -p 8081:8081 -p 10080:10080 --name nexus sonatype/nexus3
4. Nexus Repository Manager에 로그인
관리 화면에 관리자 ID로 로그인합니다. (ID:admin, Password:admin123)
※ IP 주소는 docker-machine ls에서 확인할 수 있습니다. 포트에는 8081이 할당됩니다.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.13.0
5. DockerHub 프록시 설정
설정 메뉴에서 Create repository를 선택합니다.
Docker(프록시)를 선택합니다.
Name:DockerHub, HTTP Connector:10080,Remote storage: https://registry-1.docker.io, Docker Index:Use Docker Hub를 입력하고 화면 하단으로 스크롤한 다음 Create Repository를 클릭합니다.
성공하면 다음 행이 리포지토리 목록에 추가됩니다.
6. Docker Proxy를 통해 Docker 이미지 가져오기
다음 명령으로 alpine을 pull 해보십시오.
$ docker pull mydocker:10080/alpine
Using default tag: latest
latest: Pulling from alpine
0a8490d0dfd3: Already exists
Digest: sha256:dfbd4a3a8ebca874ebd2474f044a0b33600d4523d03b0df76e5c5986cb02d7e8
Status: Downloaded newer image for mydocker:10080/alpine:latest
※ 이 작업을 수행하려면 사전 준비에서 설정한 호스트의 IP 주소와 Nexus Repository Manager가 실행 중인 IP 주소가 동일해야 합니다. 로컬 리포지토리로서 insecure인(HTTP) 접속을 하기 위해서입니다.
Nexus Repository Manager의 Components를 확인해 보면 제대로 캐시됩니다.
7. Maven Proxy를 통해 아티팩트 얻기
Eclipse에서 Maven project를 만들고 pom.xml을 다음과 같이 준비합니다.
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sample</groupId>
<artifactId>sample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
Eclipse에서 mvn clean을 실행해 보니 다음과 같이 proxy를 통해 플러그인 등을 얻을 수있었습니다.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 2.1 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom (13 KB at 19.0 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar (25 KB at 30.8 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ sample ---
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom (4 KB at 7.4 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 13.7 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 13.2 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar (221 KB at 132.8 KB/sec)
[INFO] Deleting C:\dev\eclipse-ws\sample\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.543 s
[INFO] Finished at: 2017-01-29T22:46:56+09:00
[INFO] Final Memory: 6M/123M
[INFO] ------------------------------------------------------------------------
8. 끝에
일부러 Docker로 Nexus Repository Manager를 세울 필요도 없을지도 모릅니다만, 이번 설정한 내용으로 Docker image를 작성해 두면, 프로젝트마다 사용하기 쉬울 수도 있겠지요.
메모
본문과는 관계 없습니다만, Docker로 기동하고 있는 nexus의 OS에 루트로 로그인하는 방법을 알 수 있었으므로 메모.
login to nexus container with user id = 0 (root)$docker exec -u 0 -it nexus bash
참고 페이지
비공개 Docker-Registry에 http로 연결 [Docker-Toolbox Windows]
만져서 이해하는 Docker 입문
login to nexus container with user id = 0 (root)
sonatype/nexus3
Nexus Repository의 Docker Registry를 사용하여 오프라인으로 Concourse CI 사용
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tworks55/items/ff31951494659ce75b86
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.13.0
설정 메뉴에서 Create repository를 선택합니다.
Docker(프록시)를 선택합니다.
Name:DockerHub, HTTP Connector:10080,Remote storage: https://registry-1.docker.io, Docker Index:Use Docker Hub를 입력하고 화면 하단으로 스크롤한 다음 Create Repository를 클릭합니다.
성공하면 다음 행이 리포지토리 목록에 추가됩니다.
6. Docker Proxy를 통해 Docker 이미지 가져오기
다음 명령으로 alpine을 pull 해보십시오.
$ docker pull mydocker:10080/alpine
Using default tag: latest
latest: Pulling from alpine
0a8490d0dfd3: Already exists
Digest: sha256:dfbd4a3a8ebca874ebd2474f044a0b33600d4523d03b0df76e5c5986cb02d7e8
Status: Downloaded newer image for mydocker:10080/alpine:latest
※ 이 작업을 수행하려면 사전 준비에서 설정한 호스트의 IP 주소와 Nexus Repository Manager가 실행 중인 IP 주소가 동일해야 합니다. 로컬 리포지토리로서 insecure인(HTTP) 접속을 하기 위해서입니다.
Nexus Repository Manager의 Components를 확인해 보면 제대로 캐시됩니다.
7. Maven Proxy를 통해 아티팩트 얻기
Eclipse에서 Maven project를 만들고 pom.xml을 다음과 같이 준비합니다.
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sample</groupId>
<artifactId>sample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
Eclipse에서 mvn clean을 실행해 보니 다음과 같이 proxy를 통해 플러그인 등을 얻을 수있었습니다.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 2.1 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom (13 KB at 19.0 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar (25 KB at 30.8 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ sample ---
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom (4 KB at 7.4 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 13.7 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 13.2 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar (221 KB at 132.8 KB/sec)
[INFO] Deleting C:\dev\eclipse-ws\sample\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.543 s
[INFO] Finished at: 2017-01-29T22:46:56+09:00
[INFO] Final Memory: 6M/123M
[INFO] ------------------------------------------------------------------------
8. 끝에
일부러 Docker로 Nexus Repository Manager를 세울 필요도 없을지도 모릅니다만, 이번 설정한 내용으로 Docker image를 작성해 두면, 프로젝트마다 사용하기 쉬울 수도 있겠지요.
메모
본문과는 관계 없습니다만, Docker로 기동하고 있는 nexus의 OS에 루트로 로그인하는 방법을 알 수 있었으므로 메모.
login to nexus container with user id = 0 (root)$docker exec -u 0 -it nexus bash
참고 페이지
비공개 Docker-Registry에 http로 연결 [Docker-Toolbox Windows]
만져서 이해하는 Docker 입문
login to nexus container with user id = 0 (root)
sonatype/nexus3
Nexus Repository의 Docker Registry를 사용하여 오프라인으로 Concourse CI 사용
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tworks55/items/ff31951494659ce75b86
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ docker pull mydocker:10080/alpine
Using default tag: latest
latest: Pulling from alpine
0a8490d0dfd3: Already exists
Digest: sha256:dfbd4a3a8ebca874ebd2474f044a0b33600d4523d03b0df76e5c5986cb02d7e8
Status: Downloaded newer image for mydocker:10080/alpine:latest
Eclipse에서 Maven project를 만들고 pom.xml을 다음과 같이 준비합니다.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sample</groupId>
<artifactId>sample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<repositories>
<repository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>my-repo</id>
<url>http://192.168.99.100:8081/repository/maven-central/</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
Eclipse에서 mvn clean을 실행해 보니 다음과 같이 proxy를 통해 플러그인 등을 얻을 수있었습니다.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 2.1 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom (13 KB at 19.0 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar (25 KB at 30.8 KB/sec)
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ sample ---
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom (4 KB at 7.4 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/spice/spice-parent/16/spice-parent-16.pom (9 KB at 13.7 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (9 KB at 13.2 KB/sec)
[INFO] Downloading: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[INFO] Downloaded: http://192.168.99.100:8081/repository/maven-central/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar (221 KB at 132.8 KB/sec)
[INFO] Deleting C:\dev\eclipse-ws\sample\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.543 s
[INFO] Finished at: 2017-01-29T22:46:56+09:00
[INFO] Final Memory: 6M/123M
[INFO] ------------------------------------------------------------------------
8. 끝에
일부러 Docker로 Nexus Repository Manager를 세울 필요도 없을지도 모릅니다만, 이번 설정한 내용으로 Docker image를 작성해 두면, 프로젝트마다 사용하기 쉬울 수도 있겠지요.
메모
본문과는 관계 없습니다만, Docker로 기동하고 있는 nexus의 OS에 루트로 로그인하는 방법을 알 수 있었으므로 메모.
login to nexus container with user id = 0 (root)$docker exec -u 0 -it nexus bash
참고 페이지
비공개 Docker-Registry에 http로 연결 [Docker-Toolbox Windows]
만져서 이해하는 Docker 입문
login to nexus container with user id = 0 (root)
sonatype/nexus3
Nexus Repository의 Docker Registry를 사용하여 오프라인으로 Concourse CI 사용
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tworks55/items/ff31951494659ce75b86
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
본문과는 관계 없습니다만, Docker로 기동하고 있는 nexus의 OS에 루트로 로그인하는 방법을 알 수 있었으므로 메모.
login to nexus container with user id = 0 (root)
$docker exec -u 0 -it nexus bash
참고 페이지
비공개 Docker-Registry에 http로 연결 [Docker-Toolbox Windows]
만져서 이해하는 Docker 입문
login to nexus container with user id = 0 (root)
sonatype/nexus3
Nexus Repository의 Docker Registry를 사용하여 오프라인으로 Concourse CI 사용
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tworks55/items/ff31951494659ce75b86
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Nexus Repository Manager on Docker Toolbox), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tworks55/items/ff31951494659ce75b86텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)