Actualizando un contenedor Docker
Hace unos días estaba pensando como actualizar un contenedor si el mismo está preparado para usarse para algo específico y no como una aplicación más en el sistema.
Por eso, cuando me topé con el grupo DockerES en Telegram pude hablar con los usuarios más calificado que me sacaron la duda enseguida. Cuando uno quiere actualizar un contenedor lo que hay que hacer es justamente borrar ese contenedor existente y crear uno nuevo.
Pero claro, hay ciertas cosas que hay que tener en cuenta a la hora de querer actualizar un contenedor. El tema es que si un contenedor que tengamos use datos que necesitamos lo mejor para no perder esos datos es crear un volumen persistente con toda la info que necesite ese contenedor, ya sea archivos de configuración así como rutas que necesitemos para determinados archivos.
En el primer post que hablamos sobre Docker en el blog creamos un contenedor para Portainer, el gestor de contenedores que se usa via web. Lo que vamos hacer es actualizar ese contenedor:
1) Lo primero que hay que hacer es detener el contenedor y borrarlo:
$ docker stop portainer
$ docker rm portainer
2) Una vez hecho eso, vamos a actualizar la imagen de portainer a la última versión:
$ docker pull portainer/portainer:latest
3) Ahora que tenemos la última versión de la imagen de Portainer podemos usar exactamente el mismo comando que usamos la primera vez cuando creamos el contenedor:
$ docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Con ésto tenemos actualizado, por así decirlo (porque en realidad es un contenedor nuevo), el contenedor ya que los archivos de configuración serán los mismos y si todo estaría bien, el usuario y contraseña que usamos la primera vez debería funcionar sin problemas.
Si tomamos en cuenta ésto podemos tener contenedores actualizados a la última versión si es que así lo queremos. Incluso, dependiendo de la versión que usemos para la imagen que creamos podemos tener varios servicios en diferentes versiones, pero eso ya es para otro post.
Sigamos aprendiendo!!
No olviden seguirnos en las redes sociales:
- Twitter: @NeoSiteLinux
- Facebook: NeoSiteLinux
- Instagram: @neositeproducciones
- Telegram (canal): @NeoSiteLinux
- Telegram (canal de audios): @NeoSiteLinuxPodcast
- Telegram (grupo de chat): @NeoSiteLinuxgrupo
- Youtube: NeoSiteLinux
- iTunes: Plataforma en Español
- Patreon: NeoSiteLinux en Patreon
- Swoot: Cuenta en Swoot