[Docker] Actualizar nuestros contenedores

Cuando llevamos algún tiempo usando Docker surge una nueva necesidad: actualizar nuestros servicios. Tradicionalmente esto siempre lo hacíamos cuando actualizábamos el sistema, con el consecuente problema de si algún paquete queríamos que conservara alguna versión en particular y demás títeres.

Actualizar los contenedores es realmente fácil, solo hay que asegurarse de donde estamos guardando los datos (me refiero a aquello de los volúmenes). Procedemos de la siguiente manera:

Descargamos la imagen --> Paramos el contenedor --> Eliminamos el contenedor --> Arrancamos de nuevo el contenedor

Un ejemplo con mysql es el siguiente:

docker pull mysql
docker stop my-mysql-container
docker rm my-mysql-container
docker run --name=my-mysql-container --restart=always \
  -e MYSQL_ROOT_PASSWORD=mypwd -v /my/data/dir:/var/lib/mysql -d mysql

Si estamos usando docker-compose procedemos de la misma manera:

docker-compose pull
docker-compose stop
docker-compose up -d

Hay que tener especial cuidado con los volúmenes que tengan asociados los contenedores, pero aparte de eso es coser y cantar.