Docker es una plataforma para desarrolladores y administradores de sistemas se usa para desarrollar, cargar y ejecutar aplicaciones, es un motor que automatiza el despliegue de aplicaciones en contenedores.
Docker es Open Source y esta bajo licencia Apache v2.0 por Docker Inc. que además es compatible con GPLv3.
¿Que es Docker?
Contenedores linux
Con docker podemos virtualizar un sistema Linux con todo lo necesario para trabajar sobre el, luego podemos empaquetarlo y desplegarlo para que pueda ser usado en otro sistema operativo con solo ejecutar un par de comandos.
Cada contenedor podría definirse como una maquina virtual ligera. Estas "maquinas virtuales" consumirán menos recursos en el sistema anfitrión comparado con las maquinas virtuales tradicionales.
Cabe mencionar que los contenedores Linux no son nuevos, de hecho existen desde hace mucho tiempo. Docker usa y extiende a LXC (LinuX Containers) para lograr su fluidez.
Docker vs Maquinas virtuales
Caracteristicas de Docker
Comenzado con docker
Prerrequisitos:
$ uname -rInstalación
Debian
$ apt-get updateActualizar repositorios
$ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609DAgregar gpg key
Abrir o crear el archivo
/etc/apt/sources.list.d/docker.listdeb https://apt.dockerproject.org/repo debian-wheezy mainAgregar lo siguiente:
Debian wheezy
deb https://apt.dockerproject.org/repo debian-wheezy mainDebian jessie
$ sudo apt-get updateActualizar
$ sudo apt-get install docker-engineInstalar
$ sudo service docker startIniciar el servicio
$ sudo docker run -t debian echo "Docker El Salvador"Hello world, Docker
Docker hub
Docker hub es la fuente central para trabajar con docker, provee servicios como:
$ sudo docker login* Hosting para imagen es docker
* Autenticación de usuarios
* Automatización de creación de imagenes y herramientas para el flujo de trabajo.
* Integración con github y bitbucket.
Crear una cuenta en https://hub.docker.com/account/signup/
Luego iniciar sesion desde la consola:
Usando un contenedor interactivo
$ sudo docker run -t -i debian /bin/bash
bash-4.3# La opción -t asigna una terminal al contenedor, la opción -i permite crear una conexión interactiva.
Ahora estamos dentro del contenedor, podemos ejecutar comandos como lo hacemos en cualquier otra distro que usamos:
bash-4.3# $ ls
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run ...Para salir del contenedor unicamente digitamos exit y damos enter:
$ bash-4.3# exit
exit
user@pc$Comandos Básicos
Listar Contenedores
$ sudo docker ps
Ver logs
$ sudo docker logs <conteiner ID or name>
Iniciar un contenedor
$ sudo docker start <conteiner ID or name>
Detener un contenedor
$ sudo docker stop <conteiner ID or name>
Ayuda e información sobre comandos
$ sudo docker <comando> --help
Descargar una imagen de docker hub
$ docker pull <nombre de la imagen>
Buscar imagenes en docker hub
$ docker search <nombre a buscar>
Algunos de los comandos mas usados en docker
Descargar una imagen de docker hub
$ sudo docker pull <imagen>
Enviar una imagen a docker hub
$ sudo docker push <usuario>/nombre_imagen
Quitar imagenes del host
$ sudo docker rmi training/sinatra
Crear un demonio de una imagen
$ sudo docker run -p <puerto_salida>:<puerto de salida de la app> -d <imagen>Que más hay
DEMO
CONTÁCTANOS