Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error al actualizar algunos contenedores #19

Open
brais10 opened this issue Mar 14, 2024 · 11 comments
Open

Error al actualizar algunos contenedores #19

brais10 opened this issue Mar 14, 2024 · 11 comments

Comments

@brais10
Copy link

brais10 commented Mar 14, 2024

Buenos días, en primer lugar me gustaría darte las gracias por el trabajo, el bot funciona de maravilla y me está siendo muy útil. El problema que me he encontrado es al actualizar ciertos contenedores. Lo que ocurre es que me dice que lo actualizó correctamente pero al momento empieza para y arrancar el contenedor constantemente y tengo que acabar eliminándolo. Me ha ocurrido solamente con unos contenedores basados en una imagen de ubuntu y además son los únicos contenedores que tengo que comparten imagen. Para el resto de imágenes tengo solamente un contenedor, pero en ese caso son varios los que se nutren de la imagen de ubuntu, por lo que no sé si por ahí pueden ir los tiros. Además, cuando me encuentro con este problema, si exporto el contenedor que no está funcionando en un .json (a través del container manager de synology) y lo vuelvo a importar, entonces si que vuelve a funcionar correctamente. Si necesitas más información, estaré encantado de proporcionártela. Muchas gracias.

@dgongut
Copy link
Owner

dgongut commented Apr 10, 2024

Muy buenas! Disculpa la tardanza he tenido un mes muy muy movidito y ya puedo volver a la carga con el proyecto.

En primer lugar me gustaría que mostraras los logs con el problema, si ha fallado la actualización debería poner el motivo del fallo en los logs del bot, es el primer paso para poder solucionarlo o ver lo que puede estar ocurriendo. 👍

Muchas gracias por tu comprensión.

Saludos.

@brais10
Copy link
Author

brais10 commented Apr 12, 2024

Muchas gracias por la respuesta, nada que disculpar, faltaría más!

Ahora mismo no soy capaz de reproducir el problema de forma artificial, pero en cuanto vuelva a aparecer una actualización de la imagen de ubuntu, vuelvo a actualizar y te comento si sigo teniendo el problema.

Cuál sería la mejor forma de pasarte los logs? Accediendo directamente al contenedor desde container manager (en dsm) no me muestra nada en la pestaña de logs (para otros contenedores que tengo instalados sí me aparece ahí un log)
image

Un saludo y gracias por tu trabajo!

@dgongut
Copy link
Owner

dgongut commented Apr 12, 2024

Para que ahí aparezcan los logs, puse en el docker-compose lo de tty: true.

Si no te aparecen vuelve a lanzar el docker-compose porque deberían salir sin duda:

image

Una vez hecho eso lo más sencillo si no te quieres complicar es ejecutar en el bot el comando /logfile y pulsar en el mismo bot 👍🏻

Saludos y gracias a ti por comentar!

@brais10
Copy link
Author

brais10 commented Apr 12, 2024

Genial, ya consigo ver los logs! En cuanto vuelva a tener una actualización de ubuntu ya escribo por aquí, tanto si se repite el error como si no

@brais10
Copy link
Author

brais10 commented Apr 16, 2024

Buenas, ya he encontrado el problema, gracias a ver los logs. Básicamente lo que ocurre es que cuando una imagen está asociada a varios contenedores e intento actualizar uno de ellos, el bot da error al borrar la imagen antigua para reemplazarla por la nueva, ya que la antigua está siendo utilizada por otros contenedores. En mi caso me serviría que se actualizasen todos los asociados a esa imagen de golpe, pero igual se te ocurre la forma de implementarlo para que se puedan actualizar selectivamente.

Te dejo por aquí los logs con el error. Si te puedo echar una mano o necesitas más información dime!

2024-04-16 15:25:20 - DEBUG: Updating container rclone-ubuntu
2024-04-16 15:25:20 - DEBUG: Pulling image [ubuntu:latest]
2024-04-16 15:25:33 - DEBUG: ubuntu:latest pull completed
2024-04-16 15:25:33 - DEBUG: Container rclone-ubuntu is running. It will be stopped.
2024-04-16 15:25:50 - DEBUG: Renaming old container before deleting [rclone-ubuntu] -> [rclone-ubuntu_old]
2024-04-16 15:25:50 - DEBUG: Creating the container with the new image [7af9b]
2024-04-16 15:25:53 - DEBUG: Container rclone-ubuntu updated.
2024-04-16 15:25:53 - DEBUG: The container was previously started, I start it.
2024-04-16 15:25:59 - DEBUG: Deleting old container rclone-ubuntu
2024-04-16 15:26:17 - DEBUG: Deleting image [ca2b0]
2024-04-16 15:26:17 - DEBUG: Local image of rclone-ubuntu cannot be deleted. Reason: [409 Client Error for http+docker://localhost/v1.41/images/sha256:ca2b0f26964cf2e80ba3e084d5983dab293fdb87485dc6445f3f7bbfc89d7459?force=False&noprune=False: Conflict ("conflict: unable to delete ca2b0f26964c (cannot be forced) - image is being used by running container 97bf5df396fc")]

@dgongut
Copy link
Owner

dgongut commented Apr 16, 2024

No pasa nada si no puede eliminar la imagen al estar usándose por otros contenedores, está contemplado, el programa continua sin fallos, por eso está marcado como DEBUG y no como ERROR.

El fallo en la actualización ha de venir de otro sitio 🤔

@brais10
Copy link
Author

brais10 commented Apr 16, 2024

Cierto, no me fije es que estaba marcado como DEBUG. Pues por lo que veo el bot funciona correctamente sin ningún error, simplemente luego esos contenedores luego no me inician. Estoy intentando diagnosticar el error de por qué no inician correctamente pero no soy capaz de hacerlo, ya que cuando hago un docker start al momento se para y el docker logs no muestra nada.

Si quieres puedes cerrar esto, ya que puede que sea algún problema de como tengo yo configurado esos contenedores, pues el bot parece que hace la actualización correctamente. Muchas gracias!

@yeraycito
Copy link

Comentario hecho por un conocido mio por si te sirve de ayuda:

Captura

@dgongut
Copy link
Owner

dgongut commented Apr 18, 2024

Sin los logs poco puedo hacer 😅

@gvelox
Copy link

gvelox commented Apr 18, 2024

Buenas tardes,

Soy el chico que comentaba @yeraycito y te paso el log:

2024-04-18 17:51:41 - DEBUG: Actualizando contenedor nginx-nginx-1
2024-04-18 17:51:41 - DEBUG: Haciendo pull de la imagen [nginx:latest]
2024-04-18 17:51:45 - DEBUG: Pull de nginx:latest completado
2024-04-18 17:51:45 - DEBUG: El contenedor nginx-nginx-1 está en ejecución. Se detendrá.
2024-04-18 17:51:46 - DEBUG: Renombrando antiguo contenedor antes de eliminarlo [nginx-nginx-1] -> [nginx-nginx-1_old]
2024-04-18 17:51:46 - DEBUG: Creando el contenedor con la nueva imagen [2ac75]
2024-04-18 17:51:46 - DEBUG: Contenedor nginx-nginx-1 actualizado.
2024-04-18 17:51:46 - DEBUG: El contenedor estaba iniciado anteriormente, lo inicio.
2024-04-18 17:51:46 - DEBUG: Eliminando contenedor antiguo nginx-nginx-1
2024-04-18 17:51:46 - DEBUG: Eliminando la imagen [c613f]
2024-04-18 17:51:46 - DEBUG: La imagen local de nginx-nginx-1 no puede eliminarse. Motivo: [409 Client Error for http+docker://localhost/v1.45/images/sha256:c613f16b664244b150d1c3644cbc387ec1fe8376377f9419992280eb4a82ff3b?force=False&noprune=False: Conflict ("conflict: unable to delete c613f16b6642 (cannot be forced) - image is being used by running container a8e5ca9ed083")]

Y si ahora vuelves a cargar la web, sale como si acabases de instalar el nginx, el welcome to nginx en vez de salir la web, en portainer, elimina la parte de los volumenes, lo actualiza en la raiz de docker, como si lo instalara sin indicar volumenes.

Tengo que ir al stack y volver a cargarlo cuando entonces, si que me mantiene el compose y los volumenes.

Saludos,

@dgongut
Copy link
Owner

dgongut commented Apr 18, 2024

¿Podrías pasarme por privado si quieres, el docker-compose? Es para ver cómo está definido el contenedor y replicar el problema.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants