Nexus로 Private Docker Registry 구축기

Private Docker registry 를 만들거나 사내 Docker 저장소 만들 목적

📦 환경

  • 우분투 22.04 — Server 버전.
  • 도커 설치.

📌 도커 컨테이너로 Nexus 컨테이너 실행

docker run -d --name nexus \
-p 8081:8081 -p 8082:8082 \
-p 8083:8083 -p 5000:5000 \
-v nexus-data:/nexus-data \
sonatype/nexus3

Nexus 웹 페이지는 http://서버IP:8081 로 접속. 최초, 어드민 계정으로 로그인

id: admin
pwd: cat /nexus-data/admin.password 로 명령어 쳤을 때 나오는 명렁어.

로그인 후, 개인적인 비밀번호로 바꿀 수 있다.

✅ Nexus 에서 docker hosted, docker — Proxy Blob 생성

아래와 같이 순차적으로 생성.

  • docker-hosted
  • docker-hub

✅ Nexus 에서 docker-hosted, docker-proxy 저장소 생성

해당화면에서 Create repository 클릭

✔️ docker-hosted 선택.

  • Name은 docker-hosted
  • http 영역 체크 및 5000 입력.
  • Enable Docker V1 API 체크.
  • Blob store docker-hosted 선택.

✔️ docker-proxy 선택.

  • Name은 docker-hub
  • Enable Docker V1 API 체크.
  • Remote storage 에 https://registry-1.docker.io 입력.
  • Use Docker Hub 선택.

✅ Nexus 에서 Realms 설정.

설정 ➡️ Realms ➡️ Docker Bearer Token Realm ➡️ Active 로 Save

✅ Docker 명령어 HTTP 사용 가능 설정 (v1)

/etc/docker/daemon.json 파일 생성. 기존에 존재하지 않는 파일이라면 새로 만들어야 한다.

cat /etc/docker/daemon.json

---

{
        "insecure-registries" : ["서버IP:5000"]
}

---
위 내용으로 저장.

systemctl restart docker # 도커 재시작.
docker restart nexus # 넥서스 컨테이너 재시작.

📌 Private Docker 저장소 로그인

docker login 서버IP:5000

---
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

🚀 Private Docker 저장소에 Push

docker push 서버IP:5000/도커이미지이름:태그이름

🚀 Private Docker 저장소에 Pull

docker pulll 서버IP:5000/도커이미지이름:태그이름

🧷 SSL이 적용되어야 etc/docker/daemon.json 파일 생성 과정이 생략 가능.

댓글

댓글 남기기