Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Ejecutando Tu Imagen Personalizada | Trabajando con Imágenes de Docker
Docker Essentials

bookEjecutando Tu Imagen Personalizada

Ejecutar un contenedor a partir de tu imagen personalizada

Para ejecutar un contenedor a partir de tu propia imagen personalizada, utiliza el comando docker run. Debes especificar el nombre de la imagen y, opcionalmente, asignar un nombre al contenedor en ejecución.

Si creaste una imagen llamada myapp:latest, inicia un contenedor con:

docker run myapp:latest

Agregar la opción --name te permite asignar un nombre identificable al contenedor, facilitando su gestión:

docker run --name my-running-app myapp:latest

También puedes ejecutar el contenedor en segundo plano (modo desacoplado) añadiendo la opción -d:

docker run -d --name my-running-app myapp:latest

Opciones clave para docker run:

  • Utiliza --name para asignar un nombre personalizado al contenedor;
  • Utiliza -d para ejecutar el contenedor en modo desacoplado;
  • Especifica tu imagen y etiqueta como image:tag (por ejemplo, myapp:latest).

Ejecutar tus contenedores con nombres claros y en el modo adecuado facilita su gestión y monitoreo.

Exposición de puertos y montaje de volúmenes al ejecutar contenedores

Al ejecutar contenedores, a menudo es necesario exponer puertos y montar volúmenes para interactuar con tu aplicación y persistir datos.

La exposición de puertos se realiza con la opción -p, que asigna un puerto en tu host a un puerto dentro del contenedor:

  • Utiliza -p <host_port>:<container_port> para mapear puertos;
  • Accede a aplicaciones que se ejecutan dentro del contenedor desde tu host;
  • Ejecuta múltiples contenedores en diferentes puertos del host.

Por ejemplo, para acceder a una aplicación web que se ejecuta en el puerto 80 dentro del contenedor desde el puerto 8080 en tu host:

docker run -p 8080:80 myapp:latest

El montaje de un volumen permite compartir archivos entre tu host y el contenedor. Utiliza la opción -v para especificar los directorios de origen y destino:

  • Utiliza -v /host/path:/container/path para montar directorios;
  • Persiste los datos generados por el contenedor;
  • Comparte archivos de configuración o código entre el host y el contenedor.

Comando de ejemplo:

docker run -v /host/path:/container/path myapp:latest

Combinación de opciones: Puedes ejecutar un contenedor que tenga nombre, exponga puertos y monte un volumen:

docker run -d --name my-running-app -p 8080:80 -v /host/data:/app/data myapp:latest

Este enfoque te permite gestionar cómo se comunica tu aplicación y dónde almacena los datos, proporcionando flexibilidad en implementaciones reales.

Resolución de problemas comunes al iniciar contenedores personalizados

Si tu contenedor personalizado no se inicia o se comporta de manera inesperada, utiliza estos pasos para diagnosticar y resolver problemas:

  • Revisa los registros del contenedor con el siguiente comando:
  docker logs <container-name>
  • Confirma que la imagen se haya construido correctamente y que el CMD o ENTRYPOINT en tu Dockerfile sea correcto;
  • Verifica que los puertos requeridos no estén ya en uso en tu host;
  • Si montas volúmenes, asegúrate de que el directorio de origen exista y tenga los permisos adecuados;
  • Ejecuta el contenedor de forma interactiva para depuración añadiendo la opción -it y sobrescribiendo el comando:
  docker run -it myapp:latest /bin/sh

Esto te permite inspeccionar el entorno del contenedor y solucionar problemas directamente.

question mark

¿Cuál es el propósito de la bandera --name en el comando docker run?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

How do I check if my container is running correctly?

What should I do if my container fails to start?

Can you explain how to debug a container interactively?

Awesome!

Completion rate improved to 7.14

bookEjecutando Tu Imagen Personalizada

Desliza para mostrar el menú

Ejecutar un contenedor a partir de tu imagen personalizada

Para ejecutar un contenedor a partir de tu propia imagen personalizada, utiliza el comando docker run. Debes especificar el nombre de la imagen y, opcionalmente, asignar un nombre al contenedor en ejecución.

Si creaste una imagen llamada myapp:latest, inicia un contenedor con:

docker run myapp:latest

Agregar la opción --name te permite asignar un nombre identificable al contenedor, facilitando su gestión:

docker run --name my-running-app myapp:latest

También puedes ejecutar el contenedor en segundo plano (modo desacoplado) añadiendo la opción -d:

docker run -d --name my-running-app myapp:latest

Opciones clave para docker run:

  • Utiliza --name para asignar un nombre personalizado al contenedor;
  • Utiliza -d para ejecutar el contenedor en modo desacoplado;
  • Especifica tu imagen y etiqueta como image:tag (por ejemplo, myapp:latest).

Ejecutar tus contenedores con nombres claros y en el modo adecuado facilita su gestión y monitoreo.

Exposición de puertos y montaje de volúmenes al ejecutar contenedores

Al ejecutar contenedores, a menudo es necesario exponer puertos y montar volúmenes para interactuar con tu aplicación y persistir datos.

La exposición de puertos se realiza con la opción -p, que asigna un puerto en tu host a un puerto dentro del contenedor:

  • Utiliza -p <host_port>:<container_port> para mapear puertos;
  • Accede a aplicaciones que se ejecutan dentro del contenedor desde tu host;
  • Ejecuta múltiples contenedores en diferentes puertos del host.

Por ejemplo, para acceder a una aplicación web que se ejecuta en el puerto 80 dentro del contenedor desde el puerto 8080 en tu host:

docker run -p 8080:80 myapp:latest

El montaje de un volumen permite compartir archivos entre tu host y el contenedor. Utiliza la opción -v para especificar los directorios de origen y destino:

  • Utiliza -v /host/path:/container/path para montar directorios;
  • Persiste los datos generados por el contenedor;
  • Comparte archivos de configuración o código entre el host y el contenedor.

Comando de ejemplo:

docker run -v /host/path:/container/path myapp:latest

Combinación de opciones: Puedes ejecutar un contenedor que tenga nombre, exponga puertos y monte un volumen:

docker run -d --name my-running-app -p 8080:80 -v /host/data:/app/data myapp:latest

Este enfoque te permite gestionar cómo se comunica tu aplicación y dónde almacena los datos, proporcionando flexibilidad en implementaciones reales.

Resolución de problemas comunes al iniciar contenedores personalizados

Si tu contenedor personalizado no se inicia o se comporta de manera inesperada, utiliza estos pasos para diagnosticar y resolver problemas:

  • Revisa los registros del contenedor con el siguiente comando:
  docker logs <container-name>
  • Confirma que la imagen se haya construido correctamente y que el CMD o ENTRYPOINT en tu Dockerfile sea correcto;
  • Verifica que los puertos requeridos no estén ya en uso en tu host;
  • Si montas volúmenes, asegúrate de que el directorio de origen exista y tenga los permisos adecuados;
  • Ejecuta el contenedor de forma interactiva para depuración añadiendo la opción -it y sobrescribiendo el comando:
  docker run -it myapp:latest /bin/sh

Esto te permite inspeccionar el entorno del contenedor y solucionar problemas directamente.

question mark

¿Cuál es el propósito de la bandera --name en el comando docker run?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4
some-alt