He entrado en la aplicación con ./launcher enter app y he ejecutado el comando
apt install net-tools
Tiendo a dejar la configuración tal cual, pero necesito comprobar la carga del servidor, así que asumí que necesitaba entrar en la aplicación y ejecutar netstat, pero aparentemente no está instalado por defecto ni puedo instalarlo.
Sé que esta es una pregunta bastante novata, sé que me estoy perdiendo algo obvio aquí.
Los contenedores de Discourse se construyen utilizando la plantilla app.yml, y cualquier paquete requerido debe instalarse durante el proceso de construcción de la imagen (es decir, al ejecutar ./launcher rebuild app). Los paquetes no se pueden instalar de forma interactiva desde dentro de un contenedor en ejecución.
Como resultado, las herramientas comunes como net-tools (que proporciona netstat) normalmente no se incluyen y no se pueden agregar fácilmente después de que el contenedor se está ejecutando.
Si necesita netstat dentro del contenedor, deberá agregar net-tools a su app.yml y luego reconstruir el contenedor.
Bueno, esta es la razón por la que dejo las cosas más o menos como están ahí. No estoy muy familiarizado con eso, solo con los plugins y la personalización del app.yml básico.
¿Hay una guía en Meta que cubra aventuras más extensas con app.yml?
Cuando dices host, ¿te refieres al nivel del sistema operativo / linux?
Tengo netstat en el sistema operativo Ubuntu, pero pensé que lo necesitaba en el contenedor (donde ocurre toda la magia, ¿verdad, con nginx, etc.) si entiendo las cosas correctamente.
De hecho, necesitas instalar la monitorización en el nivel exterior. Piensa en el contenedor como contención: la idea es que las cosas dentro del contenedor no pueden romper las cosas que están fuera. Pero el nivel exterior puede ver todo lo que sucede dentro. Todo el tráfico de red, la actividad de la CPU, la presión de la memoria.