Skip to content

Instantly share code, notes, and snippets.

@oxyflour
Created February 13, 2021 12:08
Show Gist options
  • Save oxyflour/363e3d090b47cf78f2c671dd94e136b6 to your computer and use it in GitHub Desktop.
Save oxyflour/363e3d090b47cf78f2c671dd94e136b6 to your computer and use it in GitHub Desktop.
private docker registry
# https://medium.com/swlh/deploy-your-private-docker-registry-as-a-pod-in-kubernetes-f6a489bf0180
docker run --rm --entrypoint htpasswd registry:2.6.2 -Bbn docker docker > auth/htpasswd
kubectl create secret tls certs-secret --cert=/mnt/d/Programs/nginx-1.17.1/conf/yff.me/fullchain.pem --key=/mnt/d/Programs/nginx-1.17.1/conf/yff.me/privkey.pem
kubectl create secret generic auth-secret --from-file=auth/htpasswd
cat > deploy.yaml << EOF
apiVersion: v1
kind: PersistentVolume
metadata:
name: docker-repo-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /tmp/repository
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: docker-repo-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
---
apiVersion: v1
kind: Pod
metadata:
name: docker-registry-pod
labels:
app: registry
spec:
containers:
- name: registry
image: registry:2.6.2
volumeMounts:
- name: repo-vol
mountPath: "/var/lib/registry"
- name: certs-vol
mountPath: "/certs"
readOnly: true
- name: auth-vol
mountPath: "/auth"
readOnly: true
env:
- name: REGISTRY_AUTH
value: "htpasswd"
- name: REGISTRY_AUTH_HTPASSWD_REALM
value: "Registry Realm"
- name: REGISTRY_AUTH_HTPASSWD_PATH
value: "/auth/htpasswd"
- name: REGISTRY_HTTP_TLS_CERTIFICATE
value: "/certs/tls.crt"
- name: REGISTRY_HTTP_TLS_KEY
value: "/certs/tls.key"
volumes:
- name: repo-vol
persistentVolumeClaim:
claimName: docker-repo-pvc
- name: certs-vol
secret:
secretName: certs-secret
- name: auth-vol
secret:
secretName: auth-secret
---
apiVersion: v1
kind: Service
metadata:
name: docker-registry
spec:
selector:
app: registry
ports:
- port: 5000
targetPort: 5000
EOF
kubectl apply -f deploy.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment