Simplified Container Management with Docker, Helm, and Kubernetes Using Nexus Repository
This article explains how Nexus Repository can serve as a centralized, enterprise‑grade Docker and Helm registry, detailing repository types, configuration steps, and practical commands for creating, exposing, and using a private container registry within a Kubernetes environment.
Over the past decade, developers have shifted how they package and deploy applications and operating systems, with Docker containers and the popular orchestration system Kubernetes reshaping the software supply chain; while these technologies bring benefits, they also introduce new complexities in package management.
Organizations now need to manage multiple public sources or registries for storing, managing, and deploying containerized applications.
Docker, Helm, and Kubernetes Simplified Container Management
Nexus Repository, built on extensive enterprise storage capabilities, provides a powerful registry for all Docker images and Helm charts. It is supported by a large user community, with over 5 million deployments across more than 1,200 organizations, including 600+ large enterprises. Teams can use the free, high‑performance Nexus Repository OSS or upgrade to Nexus Repository Pro for additional scalability and features.
Unlike Docker Hub or individual Helm repositories, Nexus acts as a central access point for all public registries, offering a more efficient and stable solution for container management, and integrates seamlessly throughout the CI/CD pipeline.
Multiple Repository Types
Nexus supports Proxy, Hosted, and Group repositories for Docker images and Helm 3 repositories, enabling advanced container management across development teams.
Proxy Repository – By configuring a proxy to remote Docker registries such as Docker Hub, duplicate downloads are reduced and download speeds for developers and CI servers improve; images are cached locally to accelerate time‑to‑market and enforce local access control.
Hosted Repository – Allows you to upload your own container images and third‑party images to a private Docker registry, with fine‑grained permissions that enhance security for development teams and organizations.
Repository Group – Enables users to pull images from all repositories in the group via a single URL, without additional client configuration after the initial setup.
Creating a Docker Image Repository
Create a Hosted‑type repository, set the access mode to HTTP, and use port 8090.
Update the Nexus Service to expose port 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 set the domain to registry.idevops.site :
- host: registry.idevops.site
http:
paths:
- path: /
backend:
serviceName: nexus3
servicePort: 8090After applying the changes, view the Nexus pod logs to confirm the service has started.
Logging into the Image Registry
## Default HTTPS may cause errors
# docker login registry.idevops.site
Username: admin
Password:
Error response from daemon: Get https://registry.idevops.site/v2/: dial tcp 192.168.1.230:443: connect: connection refused
## Update Docker daemon configuration
# vim /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 docker
## Login again
# docker login registry.idevops.site
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 SucceededTesting Image Upload
# docker tag mysql:5.7 registry.idevops.site/library/mysql:5.7
# docker push registry.idevops.site/library/mysql:5.7
The push refers to repository [registry.idevops.site/library/mysql]
... (push output omitted for brevity) ...Verify the uploaded image in the Nexus UI.
Nexus, as a container registry, powers enterprises by providing Docker and Helm registries for container storage and Kubernetes deployments. As DevOps teams grow, precise reporting on open‑source component quality becomes critical; Nexus Lifecycle offers insights into security vulnerabilities, license risks, and architectural quality, while the Nexus Platform delivers a fully integrated, universal container management registry.
Historical Articles
New Jenkins Practices
GitLab CI Practices
Jenkins Pipeline Practices
ChatOps Micro‑Practices
About the Author
Zeyang, a DevOps practitioner, focuses on enterprise‑grade DevOps operations and development technology sharing, covering new Linux operations, DevOps courses, and hands‑on experience.
Recommended Course
Systematic guide to implementing pipelines – click the image to purchase.
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.