docker-registry.yaml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. ---
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5. name: docker-registry-service
  6. labels:
  7. run: docker-registry
  8. spec:
  9. selector:
  10. app: docker-registry
  11. ports:
  12. - protocol: TCP
  13. port: 80
  14. name: http
  15. ---
  16. apiVersion: apps/v1
  17. kind: Deployment
  18. metadata:
  19. name: docker-registry
  20. labels:
  21. app: docker-registry
  22. spec:
  23. replicas: 1
  24. selector:
  25. matchLabels:
  26. app: docker-registry
  27. template:
  28. metadata:
  29. labels:
  30. app: docker-registry
  31. spec:
  32. containers:
  33. - name: docker-registry
  34. image: registry:2
  35. ports:
  36. - containerPort: 80
  37. protocol: TCP
  38. volumeMounts:
  39. - name: docker-registry-volume
  40. mountPath: /var/lib/registry
  41. env:
  42. - name: REGISTRY_HTTP_ADDR
  43. value: 0.0.0.0:80
  44. - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
  45. value: /var/lib/registry
  46. volumes:
  47. - name: docker-registry-volume
  48. persistentVolumeClaim:
  49. claimName: docker-registry-pvc
  50. ---
  51. apiVersion: traefik.containo.us/v1alpha1
  52. kind: IngressRoute
  53. metadata:
  54. name: docker-ingress-route
  55. namespace: default
  56. spec:
  57. entryPoints:
  58. - websecure
  59. routes:
  60. - match: Host(`docker.dezendorf.net`)
  61. kind: Rule
  62. services:
  63. - name: docker-registry-service
  64. port: 80
  65. tls:
  66. certResolver: myresolver
  67. ---
  68. apiVersion: traefik.containo.us/v1alpha1
  69. kind: IngressRoute
  70. metadata:
  71. name: docker-web-route
  72. namespace: default
  73. spec:
  74. entryPoints:
  75. - web
  76. routes:
  77. - match: Host(`docker.dezendorf.net`)
  78. kind: Rule
  79. middlewares:
  80. - name: redirecthttps
  81. services:
  82. - name: docker-registry-service
  83. port: 80
  84. ---
  85. apiVersion: v1
  86. kind: PersistentVolumeClaim
  87. metadata:
  88. name: docker-registry-pvc
  89. spec:
  90. accessModes:
  91. - ReadWriteOnce
  92. storageClassName: nfs
  93. resources:
  94. requests:
  95. storage: 100M