Ir al contenido principal

Docker: aclarando cosas

 

 


En post pasados hemos hablado de Docker, el cual es una herramienta (software) que permite generar y desplegar aplicaciones "de bolsillo" en contenedores, de forma rápida y portable.

Sobre su arquitectura es importante señalar  la máquina o servidor donde se encuentra instalado Docker se le llama Docker Host. Es la "casa" o servidor donde está alojado Docker y por ende tiene inquilinos.

¿Quienes viven en el Docker Host?
1. Docker Daemon-Server: El servicio mismo de Docker; es el que presta todos los servicios. Un servicio más dentro del sistema.
2. Rest API: Es el canal de comunicación entre el Docker Daemon-Server y el Docker-CLI-Client.
3. Docker CLI-Client: La terminal de comandos Docker. Nos permite la administración y gestión de contenedores, imágenes, volúmenes y redes.

Ejemplo. Correr un servidor web Nginx con Docker y después eliminar la imagen.

$ docker run -d -p 81:80 --name web2 nginx

# Abrimos navegador en htttp://localhost:81

$ docker rm -fv web2

Las imágenes son plantillas base para crear nuevas imágenes o contenedores para ejecutar nuestras aplicaciones o incluso sistemas operativos. Podemos descargar imágenes desde repositorios oficiales o de otros usuarios.

Podemos buscar imágenes con docker search IMAGEN_A_BUSCAR:
# docker search NOMBRE_A_BUSCAR

# ejemplos
$ docker search ubuntu
$ docker search python
$ docker search erlang


Podemos dar un vistazo a las imágenes en este sitio https://hub.docker.com/ tanto oficiales como no oficiales. Las imágenes siempre tienen el estado anterior, nunca se sobreescriben. Similar a lo que se hace en git. 

Una vez que hemos encontrado la imagen podemos descargarla:

$ docker pull IMAGEN

Ejemplo. Descargar imagen de MariaDB:
$ docker pull mariadb

Una vez descaragada podemos listarla:
$ docker images -a


Y ... ¿qué pasa con los contenedores?
Un contenedor es el resultado de poner en marcha una imagen.

Estados de un contenedor:

1. Terminando de ejecutarse.
2. Pausado
3. Ejecutándose
4. Etc.

Es próximos post veremos más ejemplos.

Enlaces:
https://alquimistadecodigo.blogspot.com/search?q=docker
https://www.docker.com/
https://hub.docker.com/
https://labs.play-with-docker.com/

Comentarios