[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores":3,"prev-/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores":465,"next-/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores":443,"related-/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores":468,"author-Diego Herrera":486},{"id":4,"title":5,"author":6,"authorUrl":7,"body":8,"category":420,"cta":421,"date":426,"dateModified":426,"description":427,"draft":428,"extension":429,"faq":430,"featured":428,"howto":443,"image":444,"imageAlt":445,"intent":446,"keywords":447,"meta":452,"navigation":453,"path":454,"publishedTime":455,"readingTime":456,"seo":457,"seoTitle":458,"stem":459,"tags":460,"__hash__":464},"blog/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores.md","Alpine 3.21 se queda sin parches el 1 de noviembre y Python 3.10 ya no tiene soporte: revisa tus contenedores","Diego Herrera","/autores/diego-herrera",{"type":9,"value":10,"toc":411},"minimark",[11,15,48,54,172,175,191,196,226,233,236,240,261,268,271,275,367,381,385],[12,13,14],"p",{},"Dos piezas que están dentro de muchos sistemas en contenedores llegan al final de su mantenimiento en el arranque de noviembre:",[16,17,18,34],"ul",{},[19,20,21,25,26,29,30,33],"li",{},[22,23,24],"strong",{},"Alpine Linux 3.21",", la distribución mínima sobre la que se construyen muchas imágenes de Docker, tiene su ",[22,27,28],{},"fin de soporte el 1 de noviembre de 2026",", según la tabla oficial de versiones de alpinelinux.org. Su última versión menor publicada es la ",[22,31,32],{},"3.21.9",".",[19,35,36,39,40,43,44,47],{},[22,37,38],{},"Python 3.10"," ya está marcado como ",[22,41,42],{},"fin de vida"," en la guía de desarrolladores de python.org, con fecha del 1 de octubre de 2026. El anuncio de su última versión, la ",[22,45,46],{},"3.10.22",", la presenta como la final de esa rama.",[12,49,50,51,33],{},"Ninguno de los dos se apaga. El portal de clientes, el bot que descarga facturas del SAT o el API que conecta la tienda en línea con el ERP siguen corriendo. Lo que cambia es que la siguiente falla de seguridad que se descubra en esas versiones ",[22,52,53],{},"ya no tendrá corrección",[55,56,57,79],"table",{},[58,59,60],"thead",{},[61,62,63,67,70,73,76],"tr",{},[64,65,66],"th",{},"Componente",[64,68,69],{},"Fin de soporte",[64,71,72],{},"Última versión",[64,74,75],{},"A dónde pasar",[64,77,78],{},"Soporte del destino",[80,81,82,99,113,128,142,158],"tbody",{},[61,83,84,88,91,93,96],{},[85,86,87],"td",{},"Alpine 3.21",[85,89,90],{},"1 nov 2026",[85,92,32],{},[85,94,95],{},"Alpine 3.23",[85,97,98],{},"Hasta 1 nov 2027",[61,100,101,103,105,107,110],{},[85,102],{},[85,104],{},[85,106],{},[85,108,109],{},"Alpine 3.24",[85,111,112],{},"Hasta 1 jun 2028",[61,114,115,117,120,122,125],{},[85,116,38],{},[85,118,119],{},"Oct 2026 (ya vencido)",[85,121,46],{},[85,123,124],{},"Python 3.12",[85,126,127],{},"Parches hasta oct 2028",[61,129,130,132,134,136,139],{},[85,131],{},[85,133],{},[85,135],{},[85,137,138],{},"Python 3.13",[85,140,141],{},"Parches hasta oct 2029",[61,143,144,147,150,153,156],{},[85,145,146],{},"Alpine 3.20 y anteriores",[85,148,149],{},"Ya vencidas",[85,151,152],{},"—",[85,154,155],{},"3.23 o 3.24",[85,157,152],{},[61,159,160,163,165,167,170],{},[85,161,162],{},"Python 3.9 y anteriores",[85,164,149],{},[85,166,152],{},[85,168,169],{},"3.12 o 3.13",[85,171,152],{},[12,173,174],{},"Fuentes: alpinelinux.org/releases y devguide.python.org/versions, consultadas el 26 de octubre de 2026. Las fechas futuras de Python son programadas y el proyecto puede ajustarlas.",[176,177,180],"callout",{"icon":178,"title":179},"i-lucide-info","Sobre la fecha exacta de Python 3.10",[12,181,182,183,186,187,190],{},"La guía oficial de python.org da el ",[22,184,185],{},"1 de octubre de 2026"," como fin de vida de la 3.10. Algunas empresas de soporte y proveedores de software, como Retool y HeroDevs, hablan del ",[22,188,189],{},"31 de octubre",". Para tu plan da igual: a la fecha de esta nota, ya no hay más versiones de Python 3.10 en camino.",[192,193,195],"h2",{"id":194},"por-qué-alpine-está-en-tu-empresa-aunque-nadie-lo-haya-elegido","Por qué Alpine está en tu empresa aunque nadie lo haya elegido",[12,197,198,199,204,205,209,210,213,214,213,217,220,221,225],{},"Alpine pesa unos cuantos megabytes y por eso es la base favorita de muchas imágenes de Docker. Si tu proveedor te entregó un sistema \"en contenedores\" o alguien siguió una guía como la de ",[200,201,203],"a",{"href":202},"/blog/tutorial/docker-compose-guia-completa","Docker Compose",", es muy probable que alguna imagen diga ",[206,207,208],"code",{},"alpine"," en su etiqueta: ",[206,211,212],{},"python:3.10-alpine3.21",", ",[206,215,216],{},"node:...-alpine3.21",[206,218,219],{},"nginx:...-alpine",", el proxy ",[200,222,224],{"href":223},"/blog/tutorial/traefik-reverse-proxy-docker","Traefik",", Redis o la base de datos de una herramienta interna.",[12,227,228,229,232],{},"El punto débil de los contenedores es que ",[22,230,231],{},"se construyen una vez y se quedan congelados",". Un servidor Ubuntu con actualizaciones automáticas recibe parches; un contenedor no. Si la imagen se armó hace un año sobre Alpine 3.21 y nadie la ha vuelto a construir, trae los paquetes de hace un año, y desde el 1 de noviembre ni siquiera reconstruirla con la misma etiqueta le da correcciones nuevas.",[234,235],"ad-banner",{},[192,237,239],{"id":238},"python-310-el-que-corre-los-scripts-que-nadie-recuerda","Python 3.10: el que corre los scripts que nadie recuerda",[12,241,242,243,246,247,250,251,255,256,260],{},"Python 3.10 salió en octubre de 2021 y el proyecto da ",[22,244,245],{},"cinco años"," de vida a cada versión. Llegó a muchos lados sin que nadie lo decidiera: es la versión que traía ",[22,248,249],{},"Ubuntu 22.04",", la que se usó en muchos scripts de automatización (descarga de CFDI, conciliaciones, reportes que se mandan por correo) y en APIs hechas con frameworks como ",[200,252,254],{"href":253},"/blog/tutorial/apis-rest-python-fastapi","FastAPI",". Un caso típico es el ",[200,257,259],{"href":258},"/blog/tutorial/backup-automatizado-python-cron","respaldo automatizado con Python y cron"," que alguien dejó funcionando y que nadie ha vuelto a abrir.",[12,262,263,264,267],{},"Hay un matiz: si el Python viene del sistema operativo (por ejemplo, el paquete de Ubuntu 22.04), el fabricante de la distribución puede seguir parchándolo por su cuenta. Si viene de una imagen oficial de Docker como ",[206,265,266],{},"python:3.10"," o de un instalador descargado de python.org, después de la 3.10.22 no hay nada más.",[12,269,270],{},"Python 3.11 tampoco te da mucho aire: su fin de vida programado es octubre de 2027. Si vas a mover código, conviene ir a 3.12 o 3.13 de una vez.",[192,272,274],{"id":273},"qué-hacer-esta-semana","Qué hacer esta semana",[276,277,278,315,321,345,351],"ol",{},[19,279,280,283,284,287,288,213,291,213,294,296,297,299,300,303,304,307,308,303,311,314],{},[22,281,282],{},"Haz inventario."," En cada servidor con Docker ejecuta ",[206,285,286],{},"docker images"," y anota las etiquetas que digan ",[206,289,290],{},"alpine3.21",[206,292,293],{},"3.21",[206,295,208],{}," sin número o ",[206,298,266],{},". Dentro de un contenedor, ",[206,301,302],{},"cat /etc/alpine-release"," y ",[206,305,306],{},"python3 --version"," confirman la versión real. Busca también en los ",[206,309,310],{},"Dockerfile",[206,312,313],{},"docker-compose.yml"," de tus proyectos.",[19,316,317,320],{},[22,318,319],{},"Pregunta a tus proveedores."," Si un sistema te lo entregaron en contenedores, pide por escrito sobre qué versión de Alpine y de Python está construido y cuándo lo van a reconstruir. Es una pregunta que debería estar en cualquier contrato de mantenimiento.",[19,322,323,326,327,329,330,333,334,337,338,340,341,344],{},[22,324,325],{},"Cambia la etiqueta y reconstruye."," Pasar de ",[206,328,290],{}," a ",[206,331,332],{},"alpine3.23"," o ",[206,335,336],{},"alpine3.24"," suele ser cambiar una línea y volver a construir. Fija la versión explícita (",[206,339,336],{},", no ",[206,342,343],{},"latest",") para saber siempre qué corres.",[19,346,347,350],{},[22,348,349],{},"Prueba antes de producción."," Al subir de Alpine cambian versiones de OpenSSL, librerías de C y herramientas; al subir de Python, algunas librerías viejas dejan de instalarse. Levanta la nueva imagen en una copia, corre el flujo completo (login, facturación, la integración con el ERP) y deja lista la imagen anterior para regresar.",[19,352,353,356,357,361,362,366],{},[22,354,355],{},"Automatiza la reconstrucción."," Una tarea en tu ",[200,358,360],{"href":359},"/blog/tutorial/cicd-gitlab-guia-practica","pipeline de GitLab"," que reconstruya las imágenes cada mes y las pase por un escáner de vulnerabilidades evita que esto vuelva a pasar en silencio. Si nunca has escaneado tu red, la guía para ",[200,363,365],{"href":364},"/blog/tutorial/escanear-vulnerabilidades-red","escanear vulnerabilidades"," es un buen punto de partida.",[176,368,371],{"icon":369,"title":370},"i-lucide-triangle-alert","Ojo con la etiqueta alpine a secas",[12,372,373,374,376,377,380],{},"Una imagen con la etiqueta ",[206,375,208],{}," sin número toma la versión más reciente ",[22,378,379],{},"en el momento en que se construyó",". Si se construyó a inicios de 2025, probablemente sea 3.21 o anterior, aunque la etiqueta no lo diga. Revisa la versión real dentro del contenedor.",[192,382,384],{"id":383},"contexto","Contexto",[12,386,387,388,392,393,303,397,401,402,303,406,410],{},"Noviembre trae varios fines de soporte juntos: ",[200,389,391],{"href":390},"/blog/noticias/postgresql-14-php-8-2-fin-soporte-noviembre-diciembre","PostgreSQL 14 recibe su último parche el 12 de noviembre",", y el 10 de noviembre se quedan sin actualizaciones ",[200,394,396],{"href":395},"/blog/noticias/dotnet-8-9-powershell-7-4-sin-parches-10-noviembre",".NET 8 y 9 junto con PowerShell 7.4",[200,398,400],{"href":399},"/blog/noticias/windows-server-2012-r2-sin-parches-10-noviembre","Windows Server 2012 R2",". Los contenedores son menos visibles que un servidor Windows, pero ahí corren los portales, las integraciones y los bots que mueven datos de clientes y facturas. En ",[200,403,405],{"href":404},"/servicios/servidores","servidores",[200,407,409],{"href":408},"/servicios/desarrollo-software","desarrollo de software"," hacemos el inventario de imágenes, las reconstruimos sobre versiones con soporte y dejamos la reconstrucción periódica automatizada.",{"title":412,"searchDepth":413,"depth":414,"links":415},"",2,3,[416,417,418,419],{"id":194,"depth":413,"text":195},{"id":238,"depth":413,"text":239},{"id":273,"depth":413,"text":274},{"id":383,"depth":413,"text":384},"noticias",{"title":422,"description":423,"label":424,"to":404,"icon":425},"¿Sabes sobre qué está construido cada contenedor?","Inventariamos las imágenes de tus servidores, detectamos las que están sobre versiones sin soporte y las reconstruimos con prueba previa y plan de regreso.","Ver servicio de servidores","i-lucide-container","2026-11-01","Alpine Linux 3.21 deja de recibir parches el 1 de noviembre de 2026 y Python 3.10 ya llegó a su fin de vida. Cómo saber si tus contenedores Docker los usan y qué hacer.",false,"md",[431,434,437,440],{"question":432,"answer":433},"¿Mis contenedores dejan de funcionar el 1 de noviembre?","No. Un contenedor basado en Alpine 3.21 sigue arrancando igual. Lo que termina es el mantenimiento: según la tabla oficial de alpinelinux.org, la rama 3.21 tiene fin de soporte el 1 de noviembre de 2026, así que las fallas que se descubran después en sus paquetes ya no se corrigen en esa rama.",{"question":435,"answer":436},"¿Cómo sé si uso Alpine 3.21 o Python 3.10?","En el servidor, ejecuta docker images y busca etiquetas como alpine3.21, 3.21 o python:3.10. Dentro de un contenedor, cat /etc/alpine-release muestra la versión de Alpine y python3 --version la de Python. Revisa también los Dockerfile y los archivos docker-compose del proyecto.",{"question":438,"answer":439},"¿A qué versiones conviene pasar?","Para Alpine, a 3.23 (soporte hasta el 1 de noviembre de 2027) o 3.24 (hasta el 1 de junio de 2028). Para Python, a 3.12 o 3.13, que reciben parches de seguridad hasta octubre de 2028 y 2029; o a 3.14 si tus librerías ya lo aceptan.",{"question":441,"answer":442},"Si mi proveedor me entregó el sistema en Docker, ¿esto es problema mío?","Sí, si el servidor es tuyo. La imagen se construyó una vez y no se actualiza sola. Pide a tu proveedor que confirme sobre qué versión de Alpine y de Python está construida y cuándo la va a reconstruir sobre una versión con soporte.",null,"/images/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores.jpg","Terminal con la lista de imágenes Docker de un servidor, donde aparecen etiquetas alpine3.21 y python 3.10 marcadas en rojo","informational",[448,449,450,451],"alpine 3.21 fin de soporte","python 3.10 end of life","imagen docker alpine actualizar","contenedores sin parches",{},true,"/blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores","2026-11-01T08:15:00-06:00",5,{"title":5,"description":427},"Alpine 3.21 y Python 3.10: fin de soporte 2026","blog/noticias/alpine-3-21-python-3-10-sin-parches-contenedores",[461,405,462,463],"ciberseguridad","docker","actualizaciones","4EmRkmsn5K8yn8uRGgJuEC7HY-X_0fMJa8NMcnmRXUU",{"path":466,"title":467},"/blog/noticias/oracle-java-21-licencia-pago-actualizaciones-19-enero","Oracle Java 21 ya no es gratis para uso comercial desde la versión 21.0.13: qué hacer antes del parche del 19 de enero",[469,475,481],{"path":470,"title":471,"description":472,"date":426,"category":420,"image":473,"imageAlt":474,"readingTime":456},"/blog/noticias/pagos-octubre-vencen-martes-17-noviembre-diot-quinto-bimestre","Pagos de octubre: vencen el martes 17 de noviembre, no el 18; la DIOT, hasta el 30","ISR, IVA, retenciones y el quinto bimestre del IMSS e Infonavit vencen el martes 17 de noviembre; la DIOT de octubre, el 30. Por qué no conviene esperar al 18.","/images/blog/noticias/pagos-octubre-vencen-martes-17-noviembre-diot-quinto-bimestre.jpg","Calendario de noviembre de 2026 con el martes 17 encerrado en un círculo junto a una calculadora y facturas impresas",{"path":476,"title":477,"description":478,"date":426,"category":420,"image":479,"imageAlt":480,"readingTime":456},"/blog/noticias/meta-terminos-comerciales-20-noviembre-rastreo-sitios-ia","Meta aplaza al 20 de noviembre sus nuevos términos para negocios: podrá rastrear tu sitio web, aunque quitó la palabra «entrenar»","Meta aplazó al 20 de noviembre de 2026 sus nuevos Términos Comerciales, que autorizan rastrear los sitios ligados a tu cuenta de negocio. Qué cambió con la IA.","/images/blog/noticias/meta-terminos-comerciales-20-noviembre-rastreo-sitios-ia.jpg","Laptop con el administrador de una cuenta de negocio en redes sociales junto al código de un sitio web y un robot rastreador ilustrado",{"path":466,"title":467,"description":482,"date":483,"category":420,"image":484,"imageAlt":485,"readingTime":456},"Desde el 20 de octubre de 2026, las actualizaciones de Oracle JDK 21 (21.0.13 en adelante) requieren suscripción para uso comercial. Opciones y costos.","2026-10-31","/images/blog/noticias/oracle-java-21-licencia-pago-actualizaciones-19-enero.jpg","Administrador de sistemas revisando en una terminal la versión de Java instalada en un servidor junto a un calendario de parches trimestrales",{"id":487,"avatar":443,"bio":488,"entityType":489,"expertise":490,"extension":491,"meta":492,"name":6,"role":493,"slug":494,"social":443,"stem":495,"url":7,"__hash__":496},"authors/authors/diego-herrera.yml","Ingeniero en ciberseguridad e infraestructura IT. Protege la operación de empresas mexicanas contra amenazas y caídas de servicio.","Person","Diego lidera los proyectos de ciberseguridad e infraestructura de Syswork México. Ha ejecutado auditorías de seguridad, hardening de servidores, despliegues de redes y planes de continuidad para empresas en sectores críticos. Escribe sobre seguridad, servidores, cloud y redes con un enfoque defensivo y orientado a riesgos reales del negocio.","yml",{},"Especialista en Ciberseguridad e Infraestructura","diego-herrera","authors/diego-herrera","vrWQ35_ItOQjxvsvvG7wu5-wWk5ytSOlz-Ij9viIvzM"]