Ich verwende eine Drittanbieter-Bibliothek, die Geschwister-Docker-Container erstellt über:
docker run -d /var/run/docker.sock:/var/run/docker.sock ...
Ich versuche, eine Kubernetes-Bereitstellung aus dem oben genannten Container zu erstellen, erhalte derzeit jedoch Folgendes:
Es kann keine Verbindung zum Docker-Dämon unter Unix: ///var/run/docker.sock hergestellt werden. Läuft der Docker-Daemon?
Dies wird erwartet, da ich /var/run/docker.sock
im Deployment-YAML kein Volume deklariere.
Das Problem ist, dass ich nicht weiß, wie ich das machen soll. Ist es möglich, /var/run/docker.sock
ein Volume in einem Bereitstellungs-Yaml bereitzustellen?
Wenn nicht, was ist der beste Ansatz, um Docker-Geschwistercontainer in einem Kubernetes-Deployment / -Pod auszuführen?
Obwohl dies eine funktionierende Lösung ist (ich benutze sie selbst), gibt es einige Nachteile, wenn Docker in einem Kubernetes-Pod durch Mounten ausgeführt wird
/var/run/docker.sock
Hauptsächlich, weil Sie mit Docker-Containern arbeiten, die sich der Kontrolle von Kubernetes entziehen.
Ein anderer Lösungsvorschlag, den ich gefunden habe, ist die Verwendung eines Beiwagencontainers in Ihrer Kapsel. Siehe Ein Fall für Docker-in-Docker unter Kubernetes . Es gibt zwei Teile, in denen sich die vorgeschlagene Lösung in Teil 2 befindet .
Ich hoffe das hilft.
quelle