Simplified Container Management with Docker, Helm, and Kubernetes Using Nexus Repository
This article explains how Nexus Repository can serve as a centralized Docker and Helm registry for Kubernetes deployments, detailing repository types, configuration steps, and practical code examples for creating, securing, and testing a private container image registry.
Over the past decade, developers have shifted how they package and deploy applications and operating systems, with Docker containers and the Kubernetes orchestration system reshaping the software supply chain; while these technologies bring benefits, they also introduce new complexities in managing container registries.
Nexus Repository, built on extensive enterprise storage capabilities, offers a powerful registry for both Docker images and Helm charts, supporting millions of deployments worldwide and providing a free OSS version as well as a scalable Pro edition.
Unlike Docker Hub or public Helm repositories, Nexus acts as a central access point for all public registries, delivering a more efficient and stable solution for container management throughout the CI/CD pipeline.
Repository Types
Nexus supports Proxy, Hosted, and Group repositories for Docker and Helm 3, enabling teams to cache remote images, upload private images with fine‑grained permissions, and aggregate multiple repositories under a single URL.
Creating a Docker Image Repository
To create a hosted Docker repository, set the HTTP mode and port to 8090 :
apiVersion: v1
kind: Service
metadata:
name: nexus3
namespace: devops
labels:
k8s-app: nexus3
spec:
selector:
k8s-app: nexus3
ports:
- name: web
port: 8081
targetPort: 8081
- name: web2
port: 8083
targetPort: 8083
- name: docker
port: 8090
targetPort: 8090Update the Nexus Ingress to expose the registry at registry.idevops.site :
- host: registry.idevops.site
http:
paths:
- path: /
backend:
serviceName: nexus3
servicePort: 8090After applying the changes, the Nexus pod starts and becomes reachable.
Logging into the Registry
Because HTTPS may fail by default, adjust Docker’s daemon configuration to trust the registry and restart Docker:
# /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://c9ojlmr5.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.1.200:8088", "registry.idevops.site"]
}
# systemctl daemon-reload
# systemctl restart dockerThen log in with:
# docker login registry.idevops.site
Username: admin
Password:
(enter password)Testing Image Push
# docker tag mysql:5.7 registry.idevops.site/library/mysql:5.7
# docker push registry.idevops.site/library/mysql:5.7The push succeeds and the image appears in Nexus, confirming the registry is operational.
Beyond basic storage, Nexus Lifecycle provides precise reports on open‑source component quality, security vulnerabilities, licensing risks, and architectural health, offering a comprehensive solution for enterprises scaling their DevOps and container governance.
DevOps Cloud Academy
Exploring industry DevOps practices and technical expertise.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.