
Queríamos realizar un cambio rápido en una aplicación GAE en ejecución para permitir el registro de consultas para rastrear un error.
Al ingresar mediante SSH a una instancia en ejecución, puede ser difícil encontrar dónde se almacena el código de la aplicación debido al uso de la ventana acoplable.
Mientrasestas instruccionesle permite iniciar un shell en la instancia del contenedor, vim
o algo similar no está disponible en el contenedor, por lo que no es posible modificar el código.
A continuación se muestra cómo descubrimos dónde encontrar la aplicación.
Respuesta1
En la consola GAE, vaya al menú lateral y elijaApp Engine -> Instances
Si no estás intentando conectarte a tu aplicación predeterminada, cambia el menú desplegable en la parte superior izquierda.
Luego haga clic en el botón SSH.
Las imágenes de Docker se almacenan en /var/lib/docker/overlay2
pero hay unlotede ellos.
Para encontrar el que contiene su aplicación, elija un nombre de archivo que sea exclusivo de su proyecto, por ejemplo, elegimos messageProcessor.js
y luego buscamos todas las imágenes.
(El usuario SSH no tiene permiso, por lo que necesitarás sudo para ejecutar buscar en esa carpeta)
sudo find /var/lib/docker/overlay2 -name messageProcessor.js
Con suerte, obtendrás solo un resultado, algo como este:
/var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/jobs/messageProcessor.js
Ahora que sabes dónde encontrar tu aplicación, puedes editar un archivo:
sudo vi /var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/some/file/in/my/app.js
Luego reinicie su aplicación para que el cambio surta efecto.
# ps -ef | grep node
root 11152 11151 0 Sep13 ? 00:00:00 node /app/index.js
# sudo kill <the pid of your process>