Normalmente en un servidor, se configuran actualizaciones automáticas de parches relacionados con la seguridad. Por lo tanto, si estoy ejecutando MySQL 5.5 y sale un nuevo parche de seguridad, Ubuntu Server aplicará la actualización y reiniciará MySQL para mantenerme protegido de manera automatizada. Obviamente, esto se puede desactivar, pero es útil para aquellos de nosotros que somos un poco vagos;)
¿Existe tal concepto dentro de un contenedor Docker? Si estoy ejecutando MySQL en un contenedor Docker, ¿necesito detener constantemente el contenedor, abrir un shell en él y luego actualizar y actualizar MySQL?
Respuestas:
No estoy de acuerdo con la respuesta aceptada. Primero, debe diseñar sus contenedores teniendo en cuenta la separación de estado (en el caso de MySQL, esto significa que al menos
/var/lib/mysql
va en su propio volumen ). En segundo lugar, debe determinar una estrategia para las actualizaciones; lo último en tecnología sería crear imágenes versionadas para cada conjunto de actualización de paquetes apt y hacer que se prueben antes de cambiar el volumen de datos del contenedor en ejecución al nuevo. Esto puede incluir un tiempo de inactividad o ningún tiempo de inactividad si usa algo como hipache .Esta configuración, aunque es más costosa que la configuración inicial, es la misma que usan las empresas con una escala masiva de contenedores y será más barata de mantener con el tiempo.
Además, las actualizaciones de paquetes eventualmente pueden romper sus contenedores en ejecución, por lo que aplicarlos a contenedores en ejecución no es una práctica recomendada, ya que no es para ejecutar software obsoleto.
fuente
TL; DR : Si no lo construyes en ti mismo, no va a suceder.
La forma efectiva de hacerlo es simplemente escribir un script de inicio personalizado para su contenedor especificado
CMD
en suDockerfile
. En este archivo, ejecute unapt-get update && apt-get upgrade -qqy
antes de comenzar lo que sea que esté ejecutando.Luego tiene un par de formas de garantizar que las actualizaciones lleguen al contenedor:
No es lo más fácil de optimizar y automatizar, pero es posible.
fuente