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 파일 생성 과정이 생략 가능.


댓글 남기기