Nexus - goraebab/docker GitHub Wiki

2019-09-29

Docker Image

sonatype/nexus3

Nexus ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

ํฌํŠธ ์„ค์ •

ํฌํŠธ ์šฉ๋„
8081 Nexus์ ‘์†
8082 docker image (PULL/PUSH)

๋ณผ๋ฅจ ์„ค์ • nexus official image ์—์„œ user ๋ฅผ 200 ์œผ๋กœ ์‚ฌ์šฉํ•จ

mkdir ~/nexus-data && sudo chown -R 200 ~/nexus-data

์‹คํ–‰

docker run -d -p 8081:8081 -p 8082:8082 --name nexus -v /home/nexus-data:/nexus-data sonatype/nexus3

Nexus repository ์…‹ํŒ…

Docker Registry

Docker Image๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ

  • group : ์—ฌ๋Ÿฌ๊ฐœ์˜ repository ๋ฅผ ๋ฌถ์Œ
  • hosted : docker Registry
  • proxy : docker hub ๋˜๋Š” ์‚ฌ์„ค docker registry ์บ์‹œ์šฉ๋„

nexus_1

Name : docker-registry
HTTP : 8082
Enable Docker V1 API : ์ฒดํฌํ•ด์•ผ๋งŒ HTTP ํ†ต์‹ ์ด๊ฐ€๋Šฅ v2๋Š” https๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— v1์„ ์‚ฌ์šฉ

Docker ์„ค์ • ๋ณ€๊ฒฝ

๊ตฌ์ถ•๋œ Nexus ์ €์žฅ์†Œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก insecure-registry ์˜ต์…˜์„ ๋ถ€์—ฌ ํ•ด์•ผํ•จ

CentOS๊ธฐ์ค€

/etc/docker/daemon.json

$ sudo mkdir -p /etc/docker
$ sudo vi /etc/docker/daemon.json
{
    "insecure-registries": ["127.0.0.1:8082"]
}

*Mac ๊ธฐ์ค€ * nexus_1

์„ค์ •ํ›„ docker ์žฌ์‹œ์ž‘

Docker Registry Login

docker login -u admin -p admin123 127.0.0.1:8082

Docker Image PUSH & PULL

nexus_1

  1. Docker Hub์—์„œ ๋ฐ›์€ Hello-world Image ํƒœ๊น…
  2. Nexus ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ PUSH
  3. Nexus ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ๋‹ด๊ธด Image PULL

nexus_1

NPM ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

NPM ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•„์š”ํ•˜๋‹ค https://blog.sonatype.com/using-nexus-3-as-your-repository-part-2-npm-packages

  1. ๊ฐœ์ธ์šฉ(npm-private)
  2. ๊ณต์‹์šฉ(npm-registry)
  3. ํ•˜๋‚˜์˜ URL์—์„œ ๊ฐœ์ธ, ๊ณต์‹์šฉ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ทธ๋ฃน์šฉ ์ €์žฅ์†Œ(npm-group)

Create New Repository ์— ๊ฐ€๋ฉด, ๊ฐ๊ฐ npm-private๋Š” npm-hosted, npm-registry๋Š” npm-proxy, ๊ทธ๋ฃน์€ ๊ทธ๋ฃน์œผ๋กœ ๋งŒ๋“  ํ›„, private์™€ hoted ๋ฅผ ๋ชจ๋‘ ๊ทธ๋ฃนํ•‘ แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2019-09-30 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 8 57 08

ํ…Œ์ŠคํŠธ

npm --registry http://0.0.0.0:8080/repository/npm-group/ install -g vue
npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"

image

์œ„์™€ ๊ฐ™์ด ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์„ ๊ฒฝ์šฐ, ๋„ฅ์„œ์Šค๋กœ ๊ฐ€์„œ Security-Realm์— npm Bearer Token Realm ๋ฅผ ์ถ”๊ฐ€

โš ๏ธ **GitHub.com Fallback** โš ๏ธ