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:
- Docker container run
- Docker hub
- Imagen oficial de Ubuntu