Usando Imágenes de Docker
Extraer (pulling) imágenes de Docker es solo el primer paso. Ahora, aprendamos a usar estas imágenes para ejecutar contenedores.
Ejecutando un Contenedor desde una Imagen
Para crear e iniciar un contenedor desde una imagen, use el comando docker run:
docker run ubuntu:22.04 echo "Hello from Ubuntu container"
Este comando:
- Crea un nuevo contenedor desde la imagen
ubuntu:22.04
- Ejecuta el comando
echo "Hello from Ubuntu container" dentro del contenedor
- Muestra la salida:
Hello from Ubuntu container
Después de ejecutar el comando, el contenedor se detiene porque ha completado su tarea.
Ejecutando un Contenedor Interactivo
Para iniciar un shell interactivo dentro de un contenedor, use las opciones -i (interactive) y -t (terminal):
docker run -it ubuntu:22.04 bash
Esto le da un shell bash dentro del contenedor Ubuntu donde puede ejecutar comandos:
root@a1b2c3d4e5f6:/## ls
bin dev home lib32 libx32 mnt proc run srv tmp var
boot etc lib lib64 media opt root sbin sys usr
Para salir del contenedor, escriba exit o presione Ctrl+D:
root@a1b2c3d4e5f6:/## exit
exit
Ejecutando un Contenedor en Modo Desconectado (Detached Mode)
Para ejecutar un contenedor en segundo plano (modo desconectado), use la opción -d:
docker run -d --name nginx-server -p 8080:80 nginx
Este comando:
- Crea un contenedor llamado
nginx-server desde la imagen nginx
- Lo ejecuta en modo desconectado (
-d)
- Mapea el puerto 8080 en su host al puerto 80 en el contenedor
- Retorna un ID de contenedor:
e1d0ac1dcb21a93d9d878dcf40c054eb9f3c2b1bf5ecce7c29b6fa8ce6b219c1
Accediendo al Contenedor en Ejecución
Ahora puede acceder al servidor web Nginx en http://localhost:8080 en su navegador, o usar curl para verificar que está funcionando:
curl localhost:8080
Esto debería mostrar la página de bienvenida HTML de Nginx:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</html>
Listando Contenedores en Ejecución
Para ver todos los contenedores en ejecución, use:
docker ps
Esto muestra información sobre sus contenedores en ejecución:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1d0ac1dcb21 nginx "/docker-entrypoint.…" 30 seconds ago Up 29 seconds 0.0.0.0:8080->80/tcp nginx-server
Deteniendo y Eliminando Contenedores
Para detener un contenedor en ejecución:
docker stop nginx-server
Para eliminar un contenedor detenido:
docker rm nginx-server
Ahora ha usado con éxito imágenes de Docker para ejecutar contenedores. Este es el flujo de trabajo fundamental para usar Docker en sus procesos de desarrollo e implementación.