Ho un'app containerizzata in esecuzione su una VM. Consiste di due contenitori docker. Il primo contiene il server WebSphere Liberty e l'app Web. Il secondo contiene PostgreSQL e il DB dell'app.Come collegare una finestra mobile a un container - Google Cloud Platform/Kubernetes
Sul mio VM locali, mi basta usare finestra mobile run per avviare i due contenitori e poi io uso finestra mobile allegare per fissare al contenitore web server in modo da poter modificare il file server.xml per specificare l'IP dell'host pubblico per il DB e quindi avviare il server Web nel contenitore. L'app funziona bene.
Ora sto provando a distribuire l'app su Google Cloud Platform.
- Ho impostato la configurazione di gcloud (progetto, calcolo/zona).
- Ho creato un cluster.
- Ho creato un file di configurazione pod JSON che specifica entrambi i contenitori.
- Ho creato il pod.
- Ho aperto il firewall per la porta specificata nel file di configurazione del pod.
A questo punto:
- guardo il baccello (gcloud contenitore anteprima kubectl ottenere baccelli), è mostra entrambi i contenitori sono in esecuzione.
- ho ssh al cluster (gcloud calcolo ssh xxx-mycluster-node-1) ed emissione sudo finestra mobile ps e si vede il database contenitore di corsa, ma non il contenitore web server. Con sudo docker ps -l Riesco a vedere il contenitore del server Web che non è in esecuzione, ma continua a provare ad avviarsi e ad uscire ogni 10 secondi circa.
Così ora ho bisogno di aggiornare il server.xml e avviare il server Liberty, ma non ho idea di come farlo in questo ambito. Posso collegarmi al contenitore del server web come faccio nella mia VM locale? Qualsiasi aiuto sarebbe molto apprezzato. Grazie.
Sembra che il contenitore del server Web stia bloccando il ciclo. Hai guardato i suoi registri per vedere qual è l'errore? Puoi farlo da remoto usando 'gcloud preview container kubectl log'. –
Quando controllo il log per il contenitore DB in esecuzione, ottengo il log msgs che mi aspetto, ma quando provo a controllare il log per il contenitore del server web, ottengo solo "Errore interno: container" mycontainer "non pronto. " che non è utile. Quel problema è stato precedentemente menzionato qui: https://github.com/GoogleCloudPlatform/kubernetes/issues/4526 –
@RobertBailey è possibile esaminare i registri per l'ultima (o qualsiasi precedente) istanza del contenitore di crash looping? Una volta che un container è in esecuzione, è possibile collegarlo? –