Introducción
Las imágenes de Docker dentro de un contenedor en ejecución no se actualizan automáticamente. Una vez que haya usado una imagen para crear un contenedor, continúa ejecutando esa versión, incluso después de que salgan nuevos lanzamientos.
Se recomienda ejecutar contenedores desde la última imagen de Docker a menos que tenga un motivo específico para usar una versión anterior.
En este tutorial, aprenderá a actualizar la imagen y el contenedor de Docker a la última versión.
Requisitos previos
- Acceso a una línea de comando/ventana de terminal
- Una cuenta de usuario con sudo privilegios
- Una instalación de Docker existente
- Un contenedor de Docker existente y una imagen de Docker
Actualizar la imagen y el contenedor de Docker a la última versión
La mejor manera de actualizar un contenedor existente con la imagen más reciente es descargar la última imagen y lanzar un nuevo contenedor con la misma configuración. Siga los pasos que se indican a continuación para actualizar su contenedor con la imagen de Docker más reciente.
Paso 1:comprobar la versión actual
Verifique que tiene una imagen desactualizada enumerando las imágenes en su sistema con el comando:
sudo docker images
La salida muestra las imágenes descargadas y sus etiquetas (números de versión). En el siguiente ejemplo, el sistema muestra que está usando mysql versión de la imagen 5.7.31 . Las imágenes MySQL oficiales de Docker enumeradas en DockerHub muestran que la última versión (en el momento de escribir este artículo) es 8.0.21 .
Por lo tanto, si tiene un contenedor ejecutándose en esa imagen, es mejor actualizarlo.
Paso 2:Obtener la última imagen
Descarga la versión más reciente de la imagen mediante docker pull
comando:
sudo docker pull [docker_image]
De forma predeterminada, Docker extrae la última versión. Para asegurarse de que lo haga, puede agregar el :latest
etiqueta.
Por ejemplo, para obtener la última imagen de mysql, ejecutaría:
sudo docker pull mysql/mysql-server:latest
Paso 3:lanzar un nuevo contenedor actualizado
Una vez que descargó la última imagen de Docker, debe detener y eliminar el contenedor anterior. Luego, crea uno nuevo con la última imagen.
1. Busque el nombre del contenedor en ejecución con la imagen obsoleta enumerando los contenedores en el sistema:
sudo docker ps
En este ejemplo, la salida muestra un contenedor que usa mysql/mysql-server:5.7.31 imagen.
2. Detenga y elimine el contenedor existente para poder lanzar uno nuevo con el mismo nombre:
sudo docker stop [container_id]
sudo docker rm [container_id]
Reemplazar [container_id]
con el número de identificación del contenedor.
3. Vuelva a crear el contenedor con docker run
comando y la configuración deseada, utilizando la imagen de Docker actualizada:
sudo docker run --name=[container_name] [options] [docker_image]
Si tiene uno, asegúrese de montar un volumen de Docker asignado al contenedor utilizado anteriormente para asegurarse de que el contenedor actualizado tenga el mismo contenido. Para hacer esto, use -v
opción seguida de la ruta al directorio del volumen.
Por ejemplo, para ejecutar un contenedor actualizado de MySQL, ejecutaría:
sudo docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql
4. Puede verificar si su contenedor se ha actualizado con la última imagen de Docker enumerando los contenedores con:
sudo docker ps