Nexus Usage
If your organization has defined a docker-proxy repository on Nexus, configure containerd registry mirrors on Kubernetes worker nodes and update image paths in Apinizer deployment files according to the Nexus address.
Replace the <NEXUS_HOST> placeholder in this page with your organization's registry address (e.g. repo.xxx.gov.tr). Path segments (docker-proxy, etc.) may vary based on your Nexus configuration.
Containerd Configuration (Recommended)
Modern Kubernetes installations use containerd. Apply this configuration on all worker nodes in the cluster.
sudo su
sudo vi /etc/containerd/config.toml
Add the following mirror definition under [plugins."io.containerd.grpc.v1.cri".registry] (replace <NEXUS_HOST> with your registry address):
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."<NEXUS_HOST>"]
endpoint = ["https://<NEXUS_HOST>"]
Example:
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."repo.xxx.gov.tr"]
endpoint = ["https://repo.xxx.gov.tr"]
sudo systemctl restart containerd
sudo systemctl status containerd
Test that the image can be pulled on the node:
sudo ctr images pull <NEXUS_HOST>/docker-proxy/apinizercloud/cache:<APINIZER_VERSION>
Example:
sudo ctr images pull repo.xxx.gov.tr/docker-proxy/apinizercloud/cache:2025.07.6
Kubernetes Deployment Configuration
Update the image field in Deployment, StatefulSet, or Helm values files according to your Nexus path structure:
image: <NEXUS_HOST>/docker-proxy/apinizercloud/cache:<APINIZER_VERSION>
Example:
image: repo.xxx.gov.tr/docker-proxy/apinizercloud/cache:2025.07.6
Use the same path pattern for other Apinizer components:
# API Manager
image: repo.xxx.gov.tr/docker-proxy/apinizercloud/apimanager:<APINIZER_VERSION>
# Worker
image: repo.xxx.gov.tr/docker-proxy/apinizercloud/worker:<APINIZER_VERSION>
# Integration
image: repo.xxx.gov.tr/docker-proxy/apinizercloud/integration:<APINIZER_VERSION>
# API Portal
image: repo.xxx.gov.tr/docker-proxy/apinizercloud/apiportal:<APINIZER_VERSION>
If Using Docker Runtime
- Docker daemon.json
On legacy environments or nodes using Docker runtime, edit /etc/docker/daemon.json. Apply the same configuration on all nodes using Docker.
sudo vi /etc/docker/daemon.json
{
"data-root": "/docker-data",
"insecure-registries": ["<NEXUS_HOST>"],
"registry-mirrors": ["https://<NEXUS_HOST>"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info
For certificate or image pull errors, see Kubernetes, Docker and Containerd Troubleshooting.
Related Documentation
- Container Images and Registry — scenario selection and common image list
- Apinizer Version Upgrade — Local Registry — pushing images to registry and
kubectl set image