Docker Flisol Huancayo
Docker Flisol Huancayo
Docker Flisol Huancayo
by @mario21ic
Agenda
Introduccin
Qu es? Ventajas / Desventajas
Docker vs VMs
Componentes
Instalacin
Comandos bsicos
Dockerfile
Docker-compose
Docker Hub
Historia de virtualizacin
Comando chroot
Virtualizacin: Qemu, KVM, vmware,
Virtualbox, Xen, OpenVZ
Cloud: IaaS, SaaS, PaaS
Containerizacin: LXC - Docker
Reto
Solucin
Qu es?
Manejador de containers
Desarrollado en GO
Chroot con esteroides
Cliente - Servidor
OpenSource
Ventajas - Desventajas
Docker vs VMs
Docker lightweight
Instalacin - Prerequisitos
Linux Kernel 3.8+
- Namespaces: para manejo de procesos
- Cgroups: gestin de recursos
AUFS
*LXC
Componentes:
Linux
OS X/Windows
Instalacin - Linux
Lanzar instalador docker:
$ curl -sSL https://get.docker.com/ | sh
Agregar a grupo:
$ sudo usermod -aG docker ${USER}
Verificar:
$ docker info
Instalacin - Mac OS X
Instalar va brew:
$ brew install boot2docker && brew install
docker
Levantar boot2docker
$ boot2docker init && boot2docker start
Exportar datos de acceso:
$ eval "$(boot2docker shellinit)"
Instalacin - Windows
Descargar e instalar:
https://github.com/boot2docker/windowsinstaller/releases/latest
Correr lnea de comandos y lanzar:
Boot2Docker Start
Verificar:
docker info
Trminos bsicos
Image: una capa de slo lectura que nunca
cambia (casi), semejante a una plantilla.
Container: una capa de lectura escritura.
Una instancia a partir de una image.
Hub: Es el repositorio de images docker.
Link: Accin de linkear un container con otro
Volume: Compartir carpeta entre containers/
Host
Build
$ docker build -t nuevaimagen:1.0 .
Probar
$ docker run -d -p 80:80 -v /Users/mario21ic/repo/lucci/
src:/app tutum/apache-php
Docker-compose
Docker-compose
Sirve para manejar distintos containers.
Instalacin:
Mediante curl:
$ curl -L https://github.com/docker/compose/releases/download/1.1.0/
docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
Mediante pip:
$ sudo pip install docker-compose
Verificar:
$ docker-compose --version
Docker-compose
Crear archivo docker-compose.yml:
web:
image: odoo:8
volumes:
- ./mimodulo:/mnt/extra-addons/mimodulo
links:
- db
ports:
- "8069:8069"
db:
image: postgres:latest
environment:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
Docker-compose
Ejecutar el comando:
$ docker-compose up
Abrir en browser: http://localhost:8069
En caso de usar Mac OS X o Windows
reemplazar localhost con la ip de:
$ boot2docker ip
Docker-compose
Docker hub
https://registry.hub.docker.com/
Docker Hub
$ docker login
$ docker logout
Preguntas?