Compartir comentarios
Las respuestas se generan en base a la documentación.

Actualizar la aplicación

En la parte 1, contenedorizaste una aplicación de tareas pendientes. En esta parte, actualizarás la aplicación y la imagen. También aprenderás cómo detener y eliminar un contenedor.

Actualizar el código fuente

En los siguientes pasos, cambiarás el "texto vacío" cuando no tengas ningún elemento en la lista de tareas a "¡Aún no tienes elementos! ¡Agrega uno arriba!"

  1. En el archivo src/static/js/app.js, actualiza la línea 56 para usar el nuevo texto vacío.

    - <p className="text-center">No items yet! Add one above!</p>
    + <p className="text-center">You have no todo items yet! Add one above!</p>
    
  2. Compila la versión actualizada de la imagen utilizando el comando docker build.

    $ docker build -t getting-started .
    
  3. Inicia un nuevo contenedor utilizando el código actualizado.

    $ docker run -dp 127.0.0.1:3000:3000 getting-started
    

Probablemente hayas visto un error como este:

docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell 
(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 127.0.0.1:3000 failed: port is already allocated.

El error ocurrió porque no puedes iniciar el nuevo contenedor mientras el contenedor anterior aún está en ejecución. La razón es que el contenedor anterior ya está utilizando el puerto 3000 del host y solo un proceso en la máquina (incluidos los contenedores) puede escuchar en un puerto específico. Para solucionar esto, debes eliminar el contenedor anterior.

Eliminar el contenedor anterior

Para eliminar un contenedor, primero debes detenerlo. Una vez detenido, puedes eliminarlo. Puedes eliminar el contenedor anterior utilizando la CLI o la interfaz gráfica de Docker Desktop. Elige la opción con la que te sientas más cómodo.

Eliminar un contenedor utilizando la CLI

  1. Obtén el ID del contenedor utilizando el comando docker ps.

    $ docker ps
    
  2. Utiliza el comando docker stop para detener el contenedor. Reemplaza <el-id-del-contenedor> con el ID obtenido de docker ps.

    $ docker stop <el-id-del-contenedor>
    
  3. Una vez detenido el contenedor, puedes eliminarlo utilizando el comando docker rm.

    $ docker rm <el-id-del-contenedor>
    
Note

Puedes detener y eliminar un contenedor en un solo comando agregando la bandera --force (o -f) al comando docker rm. Por ejemplo: docker rm -f <el-id-del-contenedor>.

Eliminar un contenedor utilizando Docker Desktop

  1. Abre Docker Desktop en la vista Containers.
  2. Selecciona el icono de la papelera en la columna Actions del contenedor que deseas eliminar.
  3. En el cuadro de diálogo de confirmación, selecciona Delete forever (Eliminar para siempre).

Iniciar el contenedor de la aplicación actualizado

  1. Ahora, inicia la aplicación actualizada utilizando el comando docker run.

    $ docker run -dp 127.0.0.1:3000:3000 getting-started
    
  2. Actualiza tu navegador en http://localhost:3000 y deberías ver el texto de ayuda actualizado.

Resumen

En esta sección, aprendiste cómo actualizar y volver a compilar una imagen, así como a detener y eliminar un contenedor.

Información relacionada:

Siguientes pasos

A continuación, aprenderás cómo compartir imágenes con otros.

Compartir la aplicación