Cloud Native 7 min read

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.

DevOps Cloud Academy
DevOps Cloud Academy
DevOps Cloud Academy
Simplified Container Management with Docker, Helm, and Kubernetes Using Nexus Repository

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: 8090

Update the Nexus Ingress to expose the registry at registry.idevops.site :

- host: registry.idevops.site
  http:
    paths:
    - path: /
      backend:
        serviceName: nexus3
        servicePort: 8090

After 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 docker

Then 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.7

The 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.

DockerKubernetesDevOpsHelmContainer RegistryNexus Repository
DevOps Cloud Academy
Written by

DevOps Cloud Academy

Exploring industry DevOps practices and technical expertise.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.