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
Construir una imagen:
docker build --build-arg -t
Construir una imagen detrás de un proxy:
docker build --build-arg http_proxy=http://
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
Eliminar imagen:
docker rmi
Eliminar todas las imágenes:
docker rmi `docker images -q`
Ejecutar contenedor:
docker run -v
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
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.:
Publicar un comentario