domingo, 23 de junio de 2019

Docker en macOS Mojave | Instalación & Gestión de “Contenedores” (Containers)

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software.

Organizaciones de todos los segmentos de negocio hoy quieren entender que son los contenedores, que significan para las aplicaciones en la nube y como pueden usarlos.

proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos.
 
Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.

El soporte del kernel Linux para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo,​ incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que los cgroups del kernel proporcionan aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red. 

Desde la versión 0.9, Docker incluye la biblioteca libcontainer como su propia manera de utilizar directamente las facilidades de virtualización que ofrece el kernel Linux, además de utilizar las interfaces abstraídas de virtualización mediante libvirt, LXC (Linux Containers) y systemd-nspawn.

De acuerdo con la firma analista de la industria Research, Docker es una herramienta que puede empaquetar una aplicación y sus dependencias en un contenedor virtual que se puede ejecutar en cualquier servidor Linux. Esto ayuda a permitir la flexibilidad y portabilidad en donde la aplicación se puede ejecutar, ya sea en las instalaciones físicas, la nube pública, nube privada.

Instalación de Docker en Mac Os 


 
Primero fui al portal oficial de docker, donde descargue el producto para sistema operativo macOS




A diferencia de Windows o Linux, en sistema operativo macOS el procedimiento de instalación de un producto o software es arrastrando a la carpeta de aplicaciones, donde el propio sistema se encarga de auto instalar el producto o software. 



Como en Linux, antes de iniciar el procedimiento de instalación el sistema macOS solicita autorización para iniciar con la instalación del producto. 

La instalación es rápida, previamente me registre en el portal docker hub, donde se pueden descargar en el futuro los “Contenedores” (Containers).para uso de micro servicios o procesos de DepOps.  

Valide con comandos el estatus de docker. comparto algunos comandos mas usados para temas de administración y gestión.

Estos son los comandos que he necesitado para hacer funcionar Docker en un entorno ST.
Construir una imagen:

docker build --build-arg -t .

Construir una imagen detrás de un proxy:

docker build --build-arg http_proxy=http://: --build-arg https_proxy=http://: -t .

Hacer pull de una imagen ya construida:

docker pull nginx:1.13-alpine

Añadir un TAG a una imagen:

docker tag :

Inspeccionar una imagen:

docker inspect

Guardar imagen en un fichero TAR:

docker save > .tar

Eliminar imagen:

docker rmi :

Eliminar todas las imágenes:

docker rmi `docker images -q`

Ejecutar contenedor:

docker run -v : -it --name -d

Eliminar contenedor:

docker rm

Eliminar todos los contenedores parados:

docker rm `docker ps -a -q`

Lista de imágenes:

docker images

Ver contenido de una imagen:

docker run -it image_name sh

Lista contenedores en ejecución:

docker ps -a

Conectar a un contenedor en ejecución:

docker exec -i -t a9ddb677957f /bin/bash

Build Docker-Compose:

docker-compose build

Configurar Dockerfile para mantener el docker en ejecución:

CMD tail -f /dev/null

Up Docker-Compose segundo plano:

docker-compose up -d

Ver salida de Docker-Compose:

docker-compose logs -f -t

Detener un Docker-Compose:

docker-compose down

Detener un Docker-Compose y eliminar volúmenes:

docker-compose down -v

Ver Docker-Compose en ejecución:

docker-compose ps

Ejecutar un comando en un conenedor de docker-compose:

docker-compose exec /bin/bash

Eliminar Docker-Compose detenidos:

docker-compose rm

Espero que sea de utilidad

Si prefieres mas la administración desde una cama de GUI o interfaces grafica de usuari, recomiendo ampliamente instalar "Kitematic" es cual agrega una cama de administración con interface la cual facilita en mucho la administración, descarga y administración de contenedores. 



Kitematic, ayuda enormemente a la gestión de contenedores, la descarga y administración de los mismos se facilita en mucho con esta GUI de administración.



Para La descarga de los contenedores, se erquiere estar firmado previamente a Docker Hub, una vez que este el login de docker hub podra ver todos los contenedores lso cuaels estan certificados por docker, algunos otros en proceso de certificación asi como sus propios contenedores desarollados por usted mismo segun sea el caso. 

Para descargar y usar un contenedor no es otra cosa que buscar el contenedor que su servicio o micro servicio requiere. 



Esperar la descarga y el termino del proc4edimiento de inicio del contenedo, al termino del rocedimiento automatico de descarga y "run on" podras ver el contenedor listo para ser usado.












Hay contenedores no certificados por Docker los cuales no son de utilidad, puedes buscar en docker hub contenedores que se acomoden a tus requerimietnos o demandas, solo que en ocaciones te encontraras con contenedores en mal estado los cuales no funcionan como esperas, en este ejemplo descarge este contenedor el cual yo esperaba que tuviera configuracioens en concreto requeridas para un escenario en particular, para mi sorpresa, el contenedor no funciona. 




En resumen, docker es una excelente solución de despliege automatico de servicios o micro servicios. existen muchas posibilidades no solo de despliegue y desarollo como compo de utilidad, Seguridad, infraestructura, desarrollo, Dbs, las areas de uso son infinitas. 

No hay comentarios.: