Ich habe eine containerisierte App, die auf einer VM ausgeführt wird. Es besteht aus zwei Docker-Containern. Der erste enthält den WebSphere Liberty-Server und die Web-App. Die zweite enthält PostgreSQL und die DB der App.
Auf meiner lokalen VM verwende ich einfach docker run , um die beiden Container zu starten, und dann verwende ich docker attach an den Webserver-Container anhängen, damit ich die Datei server.xml bearbeiten kann, um die öffentliche Host-IP für die Datenbank anzugeben, und starte dann den Webserver im Container. Die App läuft gut.
Jetzt versuche ich, die App auf der Google Cloud Platform bereitzustellen.
An dieser Stelle:
Nun muss ich die server.xml aktualisieren und den Liberty-Server starten, aber ich habe keine Ahnung, wie ich das in diesem Bereich machen soll. Kann ich den Container wie in meiner lokalen VM an den Webserver anhängen? Jede Hilfe würde sehr geschätzt werden. Danke.
Ja, Sie können eine Verbindung zu einem Container in einem Pod herstellen. Verwenden Sie Kubernetes 1.0 den folgenden Befehl:
Mach:
kubectl get po
, um den POD-Namen kubectl describe po POD-NAME
, um den Containernamen zu finden Dann:
kubectl exec -it POD-NAME -c CONTAINER-NAME bash
Angenommen, Sie haben bash
Ähnelt docker exec -it CONTAINER-NAME WHAT_EVER_LOCAL_COMMAND
Auf der Maschine selbst können Sie Crash-Looping-Container sehen über:
docker ps -a
und dann
docker logs
Sie können auch kubectl get pods-yoaml verwenden, um Details wie die Anzahl der Neustarts zu erhalten, mit denen überprüft wird, ob der Container einen Crash-Looping aufweist.
Tags und Links google-cloud-platform kubernetes google-container-engine