docker-registry.yaml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # Local Docker registry running in Kubernetes - for k3s
  2. #
  3. # kubectl create namespace docker-registry
  4. # kubectl apply -f docker-registry.yaml -n docker-registry
  5. #
  6. # docker build -t registry.localhost/test:latest .
  7. # docker push registry.localhost/test:latest
  8. ---
  9. #apiVersion: networking.k8s.io/v1
  10. #kind: Ingress
  11. #metadata:
  12. # name: docker-registry-ingress
  13. #spec:
  14. # ingressClassName: traefik
  15. # rules:
  16. # - host: registry.localhost
  17. # http:
  18. # paths:
  19. # - path: /
  20. # pathType: Prefix
  21. # backend:
  22. # service:
  23. # name: docker-registry-service
  24. # port:
  25. # number: 5000
  26. ---
  27. apiVersion: v1
  28. kind: Service
  29. metadata:
  30. name: docker-registry-service
  31. labels:
  32. app: docker-registry
  33. spec:
  34. selector:
  35. app: docker-registry
  36. ports:
  37. - protocol: TCP
  38. port: 5000
  39. ---
  40. apiVersion: v1
  41. kind: PersistentVolumeClaim
  42. metadata:
  43. name: docker-registry-pvc
  44. labels:
  45. app: docker-registry
  46. spec:
  47. accessModes:
  48. - ReadWriteOnce
  49. storageClassName: local-path
  50. resources:
  51. requests:
  52. storage: 10Gi
  53. ---
  54. apiVersion: apps/v1
  55. kind: Deployment
  56. metadata:
  57. name: docker-registry
  58. labels:
  59. app: docker-registry
  60. spec:
  61. replicas: 1
  62. selector:
  63. matchLabels:
  64. app: docker-registry
  65. template:
  66. metadata:
  67. labels:
  68. app: docker-registry
  69. spec:
  70. containers:
  71. - name: docker-registry
  72. image: registry
  73. ports:
  74. - containerPort: 5000
  75. protocol: TCP
  76. volumeMounts:
  77. - name: storage
  78. mountPath: /var/lib/registry
  79. env:
  80. - name: REGISTRY_HTTP_ADDR
  81. value: :5000
  82. - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
  83. value: /var/lib/registry
  84. volumes:
  85. - name: storage
  86. persistentVolumeClaim:
  87. claimName: docker-registry-pvc