Ich habe folgendes Bild, das von einer Docker-Datei erstellt wurde:
REPOSITORY TAG BILD-ID ERZEUGTE GRÖSSE
Ruby/lab neueste f1903b1508cb vor 2 Stunden 729.6 MB
Und ich habe meine folgende YML-Datei:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: Ruby-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: Ruby
spec:
containers:
- name: Ruby-app
image: Ruby/lab
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4567
Beim Erstellen der Bereitstellung habe ich die folgenden Informationen in den Pods erhalten:
Ruby-deployment-3830038651-sa4ii 0/1 ImagePullBackOff 0 7m
Ruby-deployment-3830038651-u1tvc 0/1 ImagePullBackOff 0 7m
Und:
8m 2m 6 {kubelet minikube} spec.containers{Ruby} Normal Pulling pulling image "Ruby/lab:latest"
8m 2m 6 {kubelet minikube} spec.containers{Ruby} Warning Failed Failed to pull image "Ruby/lab:latest": Error: image Ruby/lab not found
8m 2m 6 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "Ruby" with ErrImagePull: "Error: image Ruby/lab not found"
Ist wirklich eine Registrierung im Docker nötig? Ich möchte nur lokal testen und meinen Code/Repo zu Testzwecken an einen Freund weitergeben
Vielen Dank
Sie können Ihren Docker-Client durch Ausführen auf den Docker-Daemon der VM verweisen
eval $(minikube docker-env)
Dann können Sie Ihr Image normal erstellen und Ihre Kubernetes-Ressourcen normalerweise mit kubectl erstellen. Stellen Sie sicher, dass Sie haben
imagePullPolicy: IfNotPresent
in Ihren YAML- oder JSON-Spezifikationen.
Darüber hinaus gibt es ein Flag, das unsichere Registries an die Minikube-VM übergeben soll. Dies muss jedoch beim ersten Erstellen der Maschine angegeben werden.
minikube start --insecure-registry
Sie können dies auch lesen, wenn Sie eine private Registry verwenden http://kubernetes.io/docs/user-guide/images/
AFAIR-Minikube wird in einer VM ausgeführt, daher werden die von Ihnen lokal erstellten Images nicht auf einem Host-Computer angezeigt, sondern ... wie in https://github.com/kubernetes/minikube/blob/ angegeben. master/docs/reusing_the_docker_daemon.md Sie können eval $(minikube docker-env)
verwenden, um den Docker-Daemon, der auf Minikube ausgeführt wird, tatsächlich zu verwenden, und fortan Ihr Image auf dem Minikubes-Docker erstellen
andern, zieht alle Bilder manuell in jeden Knoten oder führt ein DaemonSet aus, um alle Bilder abzurufen