En este post vamos a aprender como ejecutar una imagen de Docker y vamos a ver algunos de los comandos y opciones mas usados.

Requisitos

  • Tener Docker instalado

Laboratorio

Para ejecutar un contenedor docker usamos el comando docker container run

docker container run -it -d --name my_container image_name command

Por ejemplo

docker container run -it -d --name ubuntu_dev ubuntu /bin/bash

Vamos a explicar las opciones que estamos usando.

  • La -i establece que queremos que nuestro contenedor este en modo interactivo (Iniciar STDIN abierto incluso cuando no este adjunto)*
  • La opción -t nos da STDOUT (Establece pseudo-TTY)*
  • La opción -d (dettach o no-adjunto) mantiene el contenedor ejecutándose de forma independiente*
  • –name seguido de el nombre, establece una etiqueta rápida para referirnos al contenedor*
  • image_name es el nombre de la imagen que vamos a utilizar, docker primero va a buscarlo localmente y usar esa imagen si la hemos creado con anticipación, si no va a tratar de buscar en docker hub.
  • /bin/bash este es el comando que va a correr como pid 1, si esta aplicación se detiene dentro del contenedor, todo el contenedor se detendrá*.

* No requerido

Si quieres leer mas sobre STDIN y STDOUT puedes leerlo aquí

Docker Hub es un repositorio de imágenes de docker, donde puedes encontrar imágenes oficiales y no oficiales

1. Pongamos el anterior comando para descargar y ejecutar la ultima versión de ubuntu.

$ docker container run -it -d --name dev_ubuntu ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
33c9bf8777b5: Pull complete
3a1900e16211: Pull complete
d53c8a81c254: Pull complete
Digest: sha256:cbcf86d7781dbb3a6aa2bcea25403f6b0b443e20b9959165cf52d2cc9608e4b9
Status: Downloaded newer image for ubuntu:latest
91773f80517d8c9f7777db9ea651e48f993d9eb66bf6b0e5bf6240845308c05e

2. Verifica que el contenedor este corriendo con docker container ls

$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
91773f80517d        ubuntu              "/bin/bash"         2 minutes ago       Up 2 minutes                            dev_ubuntu

3. Ahora vamos a conectarnos al contenedor con docker container exec

docker container exec -it dev_ubuntu /bin/bash

4. Una vez que conectes con el contenedor puedes actualizar, instalar paquetes o configurar tu contenedor, una vez que quieras regresar al host puedes salir con exit

exit

Ahora que sabes como ejecutar contenedores de docker, puedes buscar imágenes en Docker Hub, ahí vas a encontrar para todo propósito, como samba, apache, redis, nginx, dns, dhcp, etc.

Ahora vamos a aprender a limpiar en caso de no necesitar mas la imagen.

5. Detiene el contenedor con docker container stop

docker container stop dev_ubuntu
Si quieres puedes iniciar el contenedor después con docker container start container_name

6. En caso de no querer el contenedor la borramos con docker container rm

docker container rm dev_ubuntu

7. Ahora todo lo que nos queda es eliminar la imagen de ubuntu con docker image rm

docker image rm ubuntu:latest

Bien hecho, ahora ya sabes utilizar docker y sus comandos básicos

Referencias: