# Local Docker registry running in Kubernetes - for k3s # # kubectl create namespace docker-registry # kubectl apply -f docker-registry.yaml -n docker-registry # # docker build -t registry.localhost/test:latest . # docker push registry.localhost/test:latest --- #apiVersion: networking.k8s.io/v1 #kind: Ingress #metadata: # name: docker-registry-ingress #spec: # ingressClassName: traefik # rules: # - host: registry.localhost # http: # paths: # - path: / # pathType: Prefix # backend: # service: # name: docker-registry-service # port: # number: 5000 --- apiVersion: v1 kind: Service metadata: name: docker-registry-service labels: app: docker-registry spec: selector: app: docker-registry ports: - protocol: TCP port: 5000 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: docker-registry-pvc labels: app: docker-registry spec: accessModes: - ReadWriteOnce storageClassName: local-path resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: docker-registry labels: app: docker-registry spec: replicas: 1 selector: matchLabels: app: docker-registry template: metadata: labels: app: docker-registry spec: containers: - name: docker-registry image: registry ports: - containerPort: 5000 protocol: TCP volumeMounts: - name: storage mountPath: /var/lib/registry env: - name: REGISTRY_HTTP_ADDR value: :5000 - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY value: /var/lib/registry volumes: - name: storage persistentVolumeClaim: claimName: docker-registry-pvc