jueves, 27 de agosto de 2015

Comandos básicos Docker

Vamos a revisar algunos comandos básicos de docker,  utilizando como referencia mongodb.

Buscar imágenes:

  • docker search  

Este comando nos permite buscar imágenes en el  repositorio publico "Docker Hub", donde es una palabra relacionado con lo que estamos buscando ejemplo "ubuntu, mongo, mysql, apache, drupal, etc"

Ejemplo: Buscar imágenes existentes de mongodb.

  • docker search mongo 

Al ejecutar este comando se  visualiza un listado de elementos con la siguiente información:  "NAME, DESCRIPTION, STARTS, OFFICIAL, AUTOMATED"

Nombre, esta compuesto por /.  En el listado tenemos por ejemplo  "tutum/mongodb"  "torusware/speedus-mongo".

La columna OFFICIAL, nos permite determinar si la imagen es oficial, es este caso "mongo" es la imagen oficial de mongodb.

Figura 1. Docker search

Descargar imágenes:

  • docker pull

Este comando nos permite descargar una imagen por medio de su nombre, recuerde los nombres puede estar formados /

Ejemplo: Descargar imagen de mongo. En el anterior comando se detecto que el nombre de la imagen oficial de mongodb es "mongo", por lo tanto el comando es:

  • docker pull mongo 

Figura 2. Docker pull


Ejecutar imágenes
  • $ docker run
Este comando nos permite ejecutar un contenedor a partir de una imagen, existe varias opciones para este comando,

Ejemplo. Ejecutar un contenedor de drupal.

  • docker run -d drupal
Explicación:
  • run: comando para ejecutar contenedores. 
  • -d 
  • drupal: nombre de la imagen

Ejemplo. Ejecutar un conteneor de ubuntu, para interactuar con un shell utilizamos las opciones "-i -t" del comando "run"

  • $ docker run -i -t ubuntu /bin/bash 
Explicación:

  • run: comando para ejecutar contenedores. 
  • -i -t: opciones que nos permiten interactuar con el contenedor.
  •  ubuntu: nombre de la imagen. 
  • "/bin/bash": comando que se ejecuta en el contenedor en este caso iniciamos el shell bash para interactuar con el contenedor linux ubuntu


Figura 3. docker run -i -t ubuntu /bin/bash



Mayor información de run. https://docs.docker.com/reference/run/

Visualizar imágenes existentes localmente 
  • $ docker images 
Este comando visualiza un listado de las imágenes existente localmente.

Visualizar los contenedores que se encuentran ejecutándose. 
  • $ docker ps
Este comando visualiza un listado de los contenedores que están ejecutándose.




domingo, 16 de agosto de 2015

Comprender la Arquitectura de Docker


Docker es un proyecto de código abierto con el que fácilmente podremos crear "contenedores". Estos contenedores de Docker podríamos definirlos como máquinas virtuales ligeras, menos exigentes con los chips y memorias de los equipos donde se ejecutarán.

Docker Architecture Diagram
 

Docker utiliza una arquitectura cliente - servidor, el “Docker daemon” es el encargado de realizar el trabajo "construir, ejecutar y distribuir" los contenedores, el cliente permite interactuar con el servidor “Docker daemon”
 
El cliente y servidor se comunica vía socker o través de una API REST.
Para comprender docker, vamos a definir los tres componentes que lo conforman: 
  • Docker images.
  • Docker registries.
  • Docker containers.
Imágenes  Docker.

Las imágenes  docker son una especie de plantillas de solo lectura, las cuales contiene la información necesaria para ejecutar un contendedor. Una imagen puede tener el sistema
operativo Ubuntu, un servidor web apache con módulos de php, y una base de datos mysql.

Cada imagen inicia desde una imagen base, por ejemplo "Ubuntu image", "Fedora image". A esta imagen base se agrega otros componentes ejemplo una base de datos NoSQL "mongodb", node.js, etc.

En términos de programación son las clases.
 
Contenedor Docker. 

Un contenedor es creado a partir de una imagen, estos pueden ser ejecutados, detenidos, iniciados, eliminados.  Contiene todo lo necesario para que una aplicación pueda ejecutarse “Sistema operativo, aplicaciones, archivos, metadatos, procesos, etc.”

Cada contenedor es una plataforma aislada y segura, son autosuficientes (aunque pueden depender de otros contenedores, por ejemplo, un wordpress que necesita una base de datos mysql) no necesitando nada más que la imagen del contenedor para que funcionen los servicios que ofrece.

En términos de programación son las instancias “objetos” de las clases.
 
Registros Docker.

Los registros docker son repositorios que contienen las imágenes de los cuales se pueden descargar, agregar o actualizar. Estos permiten compartir las imágenes. Estos pueden ser públicos o privados.
 
El Registro Público de Docker es https://hub.docker.com/

sábado, 8 de agosto de 2015

Utilizar contenedores Docker en windows

Para utilizar docker en windows se debe instalar Boot2docker.
  • Bajar la ultima version desde:
 
Al momento de escribir esta entrada la ultima version es 1.7.1 de boot2docker
 
  • Ejecutar el instalador "docker-install.exe", el cual contiene:
Boot2Docker v1.7.1
Boot2Docker Management Tool v1.7.1
Docker v1.7.1
VirtualBox v4.3.30-r101610
msysGit v1.9.5-preview20150319
 
 
  • Ejecutar "Boot2Docker Start" desde el escritorio o programas. Se visualizará un shell para ejecutar comandos
  • Desde la linea de comandos ejecutar “docker version” para visualizar la versión instalada de docker y verificar que la instalacción este correcta.