SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Usando Docker con sistemas Asterisk
Elio Rojano y Rosa Atienza
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Advertencia
Esta presentación es puramente técnica.
Hay demostraciones que pueden salir mal.
Si ven comandos de consola, no se asusten.
Todos los ejemplos son hechos en consola.
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Quiénes somos
Elio Rojano y Rosa Atienza
@hellc2 y @atienzar
Ingenieros Informáticos en Avanzada7
Editores y creadores de sinologic.net
Trabajando desde 2004 con VoIP y Asterisk
Defensores del Software Libre y estándares abiertos
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Introducción
¿Qué es un contenedor?
El contenedor es 

la unidad de medida 

de la nube
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Virtualización
Hardware físico
Software de virtualización Aplicaciones
Máquina virtual
Sistema operativo
Aplicaciones
Máquina virtual
Sistema operativo
Aplicaciones
···
Sistema operativo
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Paravirtualización
Hardware físico
Sistema operativo
Software de virtualización Aplicaciones
Máquina virtual
Sistema operativo
Aplicaciones
Máquina virtual
Sistema operativo
Aplicaciones
···
driversdrivers
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Contenedores
Hardware físico
Sistema operativo
Software de virtualización Aplicaciones
Sistema operativo
Aplicaciones
Sistema operativo
Aplicaciones
···
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Contenedores
Hardware físico
vmlinuz (Kernel del sistema operativo)
/bin
/etc
/lib
/root
/tmp
/usr
/var
Aplicaciones

Información
Contenedor 1 Contenedor 2
/bin
/etc
/lib
/root
/tmp
/usr
/var
Aplicaciones

Información
Contenedor 3
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker es un
Gestor de contenedores
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Contenedores
Ubuntu Wordpress
/bin
/etc
/home
/lib
/root
/tmp
/usr
/var
Servidores
/etc/apache2
/etc/mysql
/etc/php5
/usr/bin/apache*
/usr/sbin/mysql*
/usr/sbin/apache*
/usr/lib/…
/var/www/html
/var/www/wordpress
/var/lib/mysql/tablas*
Sistema físico: Kernel / Red / Disco duro / Memoria
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
• Compatible con Linux, Windows y Mac
• Compatible con diferentes arquitecturas.
• Muy ligero y fácil de configurar.
• Intuitivo (una vez se conoce cómo funciona)
• Orientado a ser el “motor de la nube”
• Muchas utilidades compatibles.
• Herramienta ideal para DevOps (Developers + Sysadmins)
• Compatible con herramientas de clustering.
• 100% Software Libre
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
• Instalación sencilla en Debian:

apt-get install docker.io
• En entornos x86, oficialmente sólo es compatible en 64 bits.
• Incluye Docker-Machine para funcionar

incluso en lugares no amistosos:

MacOSX, Windows, FreeBSD, etc…
• A pesar de todo, está programado en Go.
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
• Fácil de manejar gracias a sus repositorios On-Line.
• Tan flexible y potente como GitHub (DevOps ¿recuerdas?)
• Comandos similares: commit, push, pull, logs, info, etc.
• En lugar de GitHub, se utiliza hub.docker.com o docker.io
• Podemos buscar contenedores ya creados y utilizarlos.
• Los contenedores pasan a llamarse usuario/nombre*
• “Docker is doing to apt what apt did to tar”
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Contenedores
On-line
# docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based operating s... 2506 [OK]
ubuntu-upstart Upstart is an event-base lacement for ... 40 [OK]
torusware/speedus-ubuntu Always updated official Uu docker imag... 25 [OK]
sequenceiq/hadoop-ubuntu An easy way to try HadoopUbuntu 23 [OK]
tleyden5iwx/ubuntu-cuda Ubuntu 14.04 with CUDA drs pre-installed 18 [OK]
ubuntu-debootstrap debootstrap --variant=min --components... 17 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, b on top of of... 14 [OK]
neurodebian NeuroDebian provides neurence research... 13 [OK]
guilhem/vagrant-ubuntu 11 [OK]
n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Ck tags for ver... 4 [OK]
sameersbn/ubuntu 4 [OK]
nimmis/ubuntu This is a docker images derent LTS vers... 3 [OK]
nuagebec/ubuntu Simple always updated Ubu docker images... 3 [OK]
ioft/armhf-ubuntu [ABR] Ubuntu Docker imageor the ARMv7(a... 2 [OK]
armbuild/ubuntu-debootstrap ARMHF port of ubuntu-debotrap 2 [OK]
maxexcloo/ubuntu Docker base image built obuntu with Sup... 2 [OK]
isuper/base-ubuntu This is just a small and an base Ubuntu... 1 [OK]
densuke/ubuntu-jp-remix Ubuntu Linux 1 [OK]
seetheprogress/ubuntu Ubuntu image provided by theprogress us... 1 [OK]
…
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Contenedores
On-line
# docker run -it ubuntu bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
3fd0c2ae8ed2: Downloading 3.235 MB/65.67 MB
9e19ac89d27c: Download complete
ac65c371c3a5: Download complete
a5a467fddcb8: Download complete
library/ubuntu:latest: The image you are pulling has been verified. Important: image verification is
a tech preview feature and should not be relied on to provide security.
Digest: sha256:8b1bffa54d8a58395bae61ec32f1a70fc82a939e4a7179e6227eb79e4c3c56f6
Status: Downloaded newer image for ubuntu:latest
root@0db890674ded:/#
root@0db890674ded:/# cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
root@0db890674ded:/#
Ubuntu bash
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker
Descargar y ejecutar un comando del contenedor
docker run contenedor comando
Ejemplo:
# docker run centos ping -c4 www.google.com
PING www.google.com (216.58.210.132) 56(84) bytes of data.
64 bytes from mad06s09-in-f132.1e100.net (216.58.210.132): icmp_seq=1 ttl=54 time=13.9 ms
64 bytes from mad06s09-in-f4.1e100.net (216.58.210.132): icmp_seq=2 ttl=54 time=13.7 ms
64 bytes from mad06s09-in-f4.1e100.net (216.58.210.132): icmp_seq=3 ttl=54 time=13.8 ms
64 bytes from mad06s09-in-f132.1e100.net (216.58.210.132): icmp_seq=4 ttl=54 time=13.7 ms
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3248ms
rtt min/avg/max/mdev = 13.737/13.831/13.947/0.143 ms
Una vez termine de ejecutar el comando, el contenedor vuelve a ser igual que
recién descargada.
# docker run centos yum update
Esto actualizará el contenedor, pero al salir, volverá a tener los repositorios de paquetes iniciales.
Utilizaremos -it (interactive mode) para acceder al repositorio y poder ejecutar comandos.

Luego guardamos con commit los cambios.
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker
# docker run -it centos bash
[root@2d71c2f762f5 /]# yum update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
…
======================================================================================
Package Arch Version Repository Size
======================================================================================
Updating:
coreutils x86_64 8.22-12.el7_1.2 updates 3.2 M
krb5-libs x86_64 1.12.2-15.el7_1 updates 826 k
[root@2d71c2f762f5 /]# exit
exit
root@debian:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d71c2f762f5 centos "bash" 5 minutes ago Exited kickass_saha
…
# docker commit kickass_saha centos
ce5bb110c28148a5350a406c94f0e42f2b012c2e2e6a8cd16db9a9de50a78014
# doker run -it centos bash
[root@e343f88993c1 /]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.xtratelecom.es
* extras: centos.mirror.xtratelecom.es
* updates: centos.mirror.xtratelecom.es
No packages marked for update
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker
Una manera de hacer contenedores es utilizando un archivo de texto llamado
Dockerfile
FROM debian
RUN apt-get update
RUN apt-get -qqy install asterisk
EXPOSE 5060 10000 10001 10002 10003 10004
CMD ["asterisk", "-gvc"]
# docker build --rm -t usuario/prueba .
Sending build context to Docker daemon 2.048 kB
Step 0 : FROM debian
---> d1f66aef36c9
Step 1 : RUN apt-get update
---> Running in 4a4355e387be
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Ign http://httpredir.debian.org jessie InRelease
Get:2 http://security.debian.org jessie/updates/main amd64 Packages [185 kB
Get:3 http://httpredir.debian.org jessie-updates InRelease [135 kB]
Get:4 http://httpredir.debian.org jessie Release.gpg [2373 B]
Get:5 http://httpredir.debian.org jessie Release [148 kB]
Get:6 http://httpredir.debian.org jessie-updates/main amd64 Packages [3619
Get:7 http://httpredir.debian.org jessie/main amd64 Packages [9035 kB]
Fetched 9572 kB in 12s (787 kB/s)
Reading package lists...
---> ec7dd44b697d
Removing intermediate container 4a4355e387be
Step 2 : RUN apt-get -qqy install asterisk
---> Running in d239a7b5c231
Dockerfile
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Asterisk en un contenedor
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Asterisk en un contenedor
# docker run -it sinologic/asterisk asterisk -gvvvvvcdddddd
Parsing /etc/asterisk/asterisk.conf
Seeding global EID '02:42:ac:11:00:02' from 'eth0' using 'siocgifhwaddr'
Privilege escalation protection disabled!
See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details.
Asterisk 11.13.1~dfsg-2+b1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
[ Initializing Custom Configuration Options ]
Parsing /etc/asterisk/extconfig.conf
== Parsing '/etc/asterisk/extconfig.conf': Found
Resetting translation matrix
Parsing /etc/asterisk/logger.conf
== Parsing '/etc/asterisk/logger.conf': Found
== Parsing '/etc/asterisk/asterisk.conf': Found
== Manager registered action DBGet
…
== Registered custom function 'QUEUE_MEMBER_PENALTY'
app_queue.so => (True Call Queueing)
== Parsing '/etc/asterisk/cli_permissions.conf': Found
Asterisk Ready.
== Parsing '/etc/asterisk/cli.conf': Found
*CLI> _
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Escalabilidad
Asterisk en un contenedor
hardware
sinologic/asterisk
sinologic/asterisk
sinologic/asterisk
Empresa 1
Empresa 2
Empresa 3
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
hardware
Asterisk en un contenedor
sinologic/asterisk
sinologic/asterisk
sinologic/asterisk
Alta disponibilidad
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
hardware
Asterisk en un contenedor
sinologic/asterisk
sinologic/asterisk
sinologic/asterisk
Balanceo de carga
sinologic/kamailio
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Asterisk en un contenedor
sinologic/asterisk
hardware
sinologic/asterisk
hardware
sinologic/asterisk
hardware
sinologic/asterisk
hardware
sinologic/asterisk
Desarrollo de versiones
coordinadas
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Asterisk en un contenedor
• El contenedor tiene una IP interna.
• Necesitamos mapear puertos.
• Los contenedores no tienen memoria...
Problemas
Todo tiene solución…
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Asterisk en un contenedor
Cómo mapear puertos para utilizarlos en Asterisk
docker run -it -net=host 

-p 5060:5060/udp 

-p 10000-20000:10000-20000/udp
sinologic/asterisk asterisk -gvvvvvvc
Cuidado!, el mapeo de puertos consume mucho procesador!
En caso de varios contenedores, los puertos no deben coincidir.
hardware
sinologic/asterisk
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Asterisk en un contenedor
Si queremos personalizar una configuración, debemos
“mapear un directorio”
docker run -it -net=host 

-p 5060:5060/udp 

-p 10000-20000:10000-20000/udp
-v /etc/asterisk:/etc/asterisk
sinologic/asterisk asterisk -gvvvvvvc
hardware
sinologic/asterisk
/bin
/etc
/lib
/home
/tmp/
…
/etc/asterisk
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Cluster de contenedores
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Qué es un Cluster
Sistema Hardware
Tarea 1
Tarea 2
Tarea 3
Tarea 4
Tarea 5
Tarea 6
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Cluster
Qué es un Cluster
Sistema Hardware
Tarea 2
Tarea 5
Sistema Hardware
Tarea 3
Sistema Hardware
Tarea 1
Tarea 4 Tarea 6
Tarea 7 Tarea 8 Tarea 9
Tarea 10
Tarea 13
Tarea 11
Tarea 14
Tarea 12
Tarea 15
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Qué es un Cluster
nodo1 nodo2 nodo3 … nodoN
repartidor
tareaN,… , tarea3, tarea2, tarea1
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker Swarm
Qué es un Cluster
nodo1 nodo2 nodo3 … nodoN
repartidor
tareaN,… , tarea3, tarea2, tarea1
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker Swarm
Qué es un Cluster
nodo1 nodo2 nodo3 … nodoN
repartidor
docker run -d sinologic/asterisk asterisk -gvc
docker run -d sinologic/asterisk asterisk -gvc
*Cada Asterisk actúa como un proceso distribuido
tareaN,… , tarea3, tarea2, tarea1
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Docker Swarm
Qué es un Cluster
nodo1 nodo2 nodo3 … nodoN
repartidor
asterisk asterisk
tareaN,… , tarea3, tarea2, tarea1
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
DEMO
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Vamos a hacerlo en pequeño
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Presentación del Nodo
Sistema: Raspberry PI 2 Model B v.1.1
Procesador: ARM v.7 con 4 núcleos
Memoria RAM: 1Gb
SO: Raspbian Jessie September 2015
Kernel: 4.1
Docker versión: hypriot 1.8.3

Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
SWARM
Nodo NNodo 1 Nodo 2
· · ·
comandos
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
¿PREGUNTAS?
Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
Gracias!
- A los creadores de Docker y Asterisk por crear estas grandes aplicaciones.
- A Avanzada7 por invitarnos a dar estas conferencias.
- A Pablo por dejarnos algo de tiempo para investigar y hacer esta charla.
- A los lectores de sinologic.net.
- A vosotros por seguir aquí.

Más contenido relacionado

La actualidad más candente

Presentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmPresentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmAlejandro Escanero Blanco
 
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Telefónica
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPablo Godel
 
Introducción a Vagrant
Introducción a VagrantIntroducción a Vagrant
Introducción a VagrantRaúl Uranga
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a DockerOpen Canarias
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualizaciónMarcelo Ochoa
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016Telefónica
 

La actualidad más candente (20)

Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Presentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarmPresentación nubes de contenedores con docker swarm
Presentación nubes de contenedores con docker swarm
 
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppetEntornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Taller docker _es-cl
Taller docker _es-clTaller docker _es-cl
Taller docker _es-cl
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2
 
Conceptos avanzados en docker
Conceptos avanzados en dockerConceptos avanzados en docker
Conceptos avanzados en docker
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Introducción a Vagrant
Introducción a VagrantIntroducción a Vagrant
Introducción a Vagrant
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Despues de instalar fedora 14
Despues de instalar fedora 14Despues de instalar fedora 14
Despues de instalar fedora 14
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
 

Similar a Usando Docker con sistemas Asterisk

Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Moisés Elías Araya
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Keopx
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Debian Lenny Asterisk
Debian Lenny AsteriskDebian Lenny Asterisk
Debian Lenny Asteriskmanzurek
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaipquaip
 
Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineMario IC
 
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Vicente Gerardo Guzman Lucio
 
Docker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos AiresDocker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos AiresBel Rey
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfAngel Borroy López
 
Instalación de Docker Engine en Ubuntu Server 16.04 LTS
Instalación de Docker Engine en Ubuntu Server 16.04 LTSInstalación de Docker Engine en Ubuntu Server 16.04 LTS
Instalación de Docker Engine en Ubuntu Server 16.04 LTSJose Antonio Carrasco Moreno
 

Similar a Usando Docker con sistemas Asterisk (20)

Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Debian Lenny Asterisk
Debian Lenny AsteriskDebian Lenny Asterisk
Debian Lenny Asterisk
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
 
Docker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - EngineDocker Ecosystem - Part I - Engine
Docker Ecosystem - Part I - Engine
 
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Docker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos AiresDocker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos Aires
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdf
 
Instalación de Docker Engine en Ubuntu Server 16.04 LTS
Instalación de Docker Engine en Ubuntu Server 16.04 LTSInstalación de Docker Engine en Ubuntu Server 16.04 LTS
Instalación de Docker Engine en Ubuntu Server 16.04 LTS
 

Último

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (20)

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Usando Docker con sistemas Asterisk

  • 1. Usando Docker con sistemas Asterisk Elio Rojano y Rosa Atienza
  • 2. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Advertencia Esta presentación es puramente técnica. Hay demostraciones que pueden salir mal. Si ven comandos de consola, no se asusten. Todos los ejemplos son hechos en consola.
  • 3. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Quiénes somos Elio Rojano y Rosa Atienza @hellc2 y @atienzar Ingenieros Informáticos en Avanzada7 Editores y creadores de sinologic.net Trabajando desde 2004 con VoIP y Asterisk Defensores del Software Libre y estándares abiertos
  • 4. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Introducción ¿Qué es un contenedor?
  • 5. El contenedor es 
 la unidad de medida 
 de la nube
  • 6. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Virtualización Hardware físico Software de virtualización Aplicaciones Máquina virtual Sistema operativo Aplicaciones Máquina virtual Sistema operativo Aplicaciones ··· Sistema operativo
  • 7. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Paravirtualización Hardware físico Sistema operativo Software de virtualización Aplicaciones Máquina virtual Sistema operativo Aplicaciones Máquina virtual Sistema operativo Aplicaciones ··· driversdrivers
  • 8. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Contenedores Hardware físico Sistema operativo Software de virtualización Aplicaciones Sistema operativo Aplicaciones Sistema operativo Aplicaciones ···
  • 9. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Contenedores Hardware físico vmlinuz (Kernel del sistema operativo) /bin /etc /lib /root /tmp /usr /var Aplicaciones
 Información Contenedor 1 Contenedor 2 /bin /etc /lib /root /tmp /usr /var Aplicaciones
 Información Contenedor 3
  • 10. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker es un Gestor de contenedores
  • 11. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Contenedores Ubuntu Wordpress /bin /etc /home /lib /root /tmp /usr /var Servidores /etc/apache2 /etc/mysql /etc/php5 /usr/bin/apache* /usr/sbin/mysql* /usr/sbin/apache* /usr/lib/… /var/www/html /var/www/wordpress /var/lib/mysql/tablas* Sistema físico: Kernel / Red / Disco duro / Memoria
  • 12. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk • Compatible con Linux, Windows y Mac • Compatible con diferentes arquitecturas. • Muy ligero y fácil de configurar. • Intuitivo (una vez se conoce cómo funciona) • Orientado a ser el “motor de la nube” • Muchas utilidades compatibles. • Herramienta ideal para DevOps (Developers + Sysadmins) • Compatible con herramientas de clustering. • 100% Software Libre
  • 13. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk • Instalación sencilla en Debian:
 apt-get install docker.io • En entornos x86, oficialmente sólo es compatible en 64 bits. • Incluye Docker-Machine para funcionar
 incluso en lugares no amistosos:
 MacOSX, Windows, FreeBSD, etc… • A pesar de todo, está programado en Go.
  • 14. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk • Fácil de manejar gracias a sus repositorios On-Line. • Tan flexible y potente como GitHub (DevOps ¿recuerdas?) • Comandos similares: commit, push, pull, logs, info, etc. • En lugar de GitHub, se utiliza hub.docker.com o docker.io • Podemos buscar contenedores ya creados y utilizarlos. • Los contenedores pasan a llamarse usuario/nombre* • “Docker is doing to apt what apt did to tar”
  • 15. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Contenedores On-line # docker search ubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based operating s... 2506 [OK] ubuntu-upstart Upstart is an event-base lacement for ... 40 [OK] torusware/speedus-ubuntu Always updated official Uu docker imag... 25 [OK] sequenceiq/hadoop-ubuntu An easy way to try HadoopUbuntu 23 [OK] tleyden5iwx/ubuntu-cuda Ubuntu 14.04 with CUDA drs pre-installed 18 [OK] ubuntu-debootstrap debootstrap --variant=min --components... 17 [OK] rastasheep/ubuntu-sshd Dockerized SSH service, b on top of of... 14 [OK] neurodebian NeuroDebian provides neurence research... 13 [OK] guilhem/vagrant-ubuntu 11 [OK] n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Ck tags for ver... 4 [OK] sameersbn/ubuntu 4 [OK] nimmis/ubuntu This is a docker images derent LTS vers... 3 [OK] nuagebec/ubuntu Simple always updated Ubu docker images... 3 [OK] ioft/armhf-ubuntu [ABR] Ubuntu Docker imageor the ARMv7(a... 2 [OK] armbuild/ubuntu-debootstrap ARMHF port of ubuntu-debotrap 2 [OK] maxexcloo/ubuntu Docker base image built obuntu with Sup... 2 [OK] isuper/base-ubuntu This is just a small and an base Ubuntu... 1 [OK] densuke/ubuntu-jp-remix Ubuntu Linux 1 [OK] seetheprogress/ubuntu Ubuntu image provided by theprogress us... 1 [OK] …
  • 16. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Contenedores On-line # docker run -it ubuntu bash Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu 3fd0c2ae8ed2: Downloading 3.235 MB/65.67 MB 9e19ac89d27c: Download complete ac65c371c3a5: Download complete a5a467fddcb8: Download complete library/ubuntu:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. Digest: sha256:8b1bffa54d8a58395bae61ec32f1a70fc82a939e4a7179e6227eb79e4c3c56f6 Status: Downloaded newer image for ubuntu:latest root@0db890674ded:/# root@0db890674ded:/# cat /etc/apt/sources.list deb http://archive.ubuntu.com/ubuntu/ trusty main restricted deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted root@0db890674ded:/# Ubuntu bash
  • 17. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker Descargar y ejecutar un comando del contenedor docker run contenedor comando Ejemplo: # docker run centos ping -c4 www.google.com PING www.google.com (216.58.210.132) 56(84) bytes of data. 64 bytes from mad06s09-in-f132.1e100.net (216.58.210.132): icmp_seq=1 ttl=54 time=13.9 ms 64 bytes from mad06s09-in-f4.1e100.net (216.58.210.132): icmp_seq=2 ttl=54 time=13.7 ms 64 bytes from mad06s09-in-f4.1e100.net (216.58.210.132): icmp_seq=3 ttl=54 time=13.8 ms 64 bytes from mad06s09-in-f132.1e100.net (216.58.210.132): icmp_seq=4 ttl=54 time=13.7 ms --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3248ms rtt min/avg/max/mdev = 13.737/13.831/13.947/0.143 ms Una vez termine de ejecutar el comando, el contenedor vuelve a ser igual que recién descargada. # docker run centos yum update Esto actualizará el contenedor, pero al salir, volverá a tener los repositorios de paquetes iniciales. Utilizaremos -it (interactive mode) para acceder al repositorio y poder ejecutar comandos.
 Luego guardamos con commit los cambios.
  • 18. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker # docker run -it centos bash [root@2d71c2f762f5 /]# yum update Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 … ====================================================================================== Package Arch Version Repository Size ====================================================================================== Updating: coreutils x86_64 8.22-12.el7_1.2 updates 3.2 M krb5-libs x86_64 1.12.2-15.el7_1 updates 826 k [root@2d71c2f762f5 /]# exit exit root@debian:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2d71c2f762f5 centos "bash" 5 minutes ago Exited kickass_saha … # docker commit kickass_saha centos ce5bb110c28148a5350a406c94f0e42f2b012c2e2e6a8cd16db9a9de50a78014 # doker run -it centos bash [root@e343f88993c1 /]# yum update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.xtratelecom.es * extras: centos.mirror.xtratelecom.es * updates: centos.mirror.xtratelecom.es No packages marked for update
  • 19. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker Una manera de hacer contenedores es utilizando un archivo de texto llamado Dockerfile FROM debian RUN apt-get update RUN apt-get -qqy install asterisk EXPOSE 5060 10000 10001 10002 10003 10004 CMD ["asterisk", "-gvc"] # docker build --rm -t usuario/prueba . Sending build context to Docker daemon 2.048 kB Step 0 : FROM debian ---> d1f66aef36c9 Step 1 : RUN apt-get update ---> Running in 4a4355e387be Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB] Ign http://httpredir.debian.org jessie InRelease Get:2 http://security.debian.org jessie/updates/main amd64 Packages [185 kB Get:3 http://httpredir.debian.org jessie-updates InRelease [135 kB] Get:4 http://httpredir.debian.org jessie Release.gpg [2373 B] Get:5 http://httpredir.debian.org jessie Release [148 kB] Get:6 http://httpredir.debian.org jessie-updates/main amd64 Packages [3619 Get:7 http://httpredir.debian.org jessie/main amd64 Packages [9035 kB] Fetched 9572 kB in 12s (787 kB/s) Reading package lists... ---> ec7dd44b697d Removing intermediate container 4a4355e387be Step 2 : RUN apt-get -qqy install asterisk ---> Running in d239a7b5c231 Dockerfile
  • 20. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Asterisk en un contenedor
  • 21. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Asterisk en un contenedor # docker run -it sinologic/asterisk asterisk -gvvvvvcdddddd Parsing /etc/asterisk/asterisk.conf Seeding global EID '02:42:ac:11:00:02' from 'eth0' using 'siocgifhwaddr' Privilege escalation protection disabled! See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. Asterisk 11.13.1~dfsg-2+b1, Copyright (C) 1999 - 2013 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= [ Initializing Custom Configuration Options ] Parsing /etc/asterisk/extconfig.conf == Parsing '/etc/asterisk/extconfig.conf': Found Resetting translation matrix Parsing /etc/asterisk/logger.conf == Parsing '/etc/asterisk/logger.conf': Found == Parsing '/etc/asterisk/asterisk.conf': Found == Manager registered action DBGet … == Registered custom function 'QUEUE_MEMBER_PENALTY' app_queue.so => (True Call Queueing) == Parsing '/etc/asterisk/cli_permissions.conf': Found Asterisk Ready. == Parsing '/etc/asterisk/cli.conf': Found *CLI> _
  • 22. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Escalabilidad Asterisk en un contenedor hardware sinologic/asterisk sinologic/asterisk sinologic/asterisk Empresa 1 Empresa 2 Empresa 3
  • 23. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk hardware Asterisk en un contenedor sinologic/asterisk sinologic/asterisk sinologic/asterisk Alta disponibilidad
  • 24. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk hardware Asterisk en un contenedor sinologic/asterisk sinologic/asterisk sinologic/asterisk Balanceo de carga sinologic/kamailio
  • 25. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Asterisk en un contenedor sinologic/asterisk hardware sinologic/asterisk hardware sinologic/asterisk hardware sinologic/asterisk hardware sinologic/asterisk Desarrollo de versiones coordinadas
  • 26. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Asterisk en un contenedor • El contenedor tiene una IP interna. • Necesitamos mapear puertos. • Los contenedores no tienen memoria... Problemas Todo tiene solución…
  • 27. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Asterisk en un contenedor Cómo mapear puertos para utilizarlos en Asterisk docker run -it -net=host 
 -p 5060:5060/udp 
 -p 10000-20000:10000-20000/udp sinologic/asterisk asterisk -gvvvvvvc Cuidado!, el mapeo de puertos consume mucho procesador! En caso de varios contenedores, los puertos no deben coincidir. hardware sinologic/asterisk
  • 28. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Asterisk en un contenedor Si queremos personalizar una configuración, debemos “mapear un directorio” docker run -it -net=host 
 -p 5060:5060/udp 
 -p 10000-20000:10000-20000/udp -v /etc/asterisk:/etc/asterisk sinologic/asterisk asterisk -gvvvvvvc hardware sinologic/asterisk /bin /etc /lib /home /tmp/ … /etc/asterisk
  • 29. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Cluster de contenedores
  • 30. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Qué es un Cluster Sistema Hardware Tarea 1 Tarea 2 Tarea 3 Tarea 4 Tarea 5 Tarea 6
  • 31. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Cluster Qué es un Cluster Sistema Hardware Tarea 2 Tarea 5 Sistema Hardware Tarea 3 Sistema Hardware Tarea 1 Tarea 4 Tarea 6 Tarea 7 Tarea 8 Tarea 9 Tarea 10 Tarea 13 Tarea 11 Tarea 14 Tarea 12 Tarea 15
  • 32. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Qué es un Cluster nodo1 nodo2 nodo3 … nodoN repartidor tareaN,… , tarea3, tarea2, tarea1
  • 33. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker Swarm Qué es un Cluster nodo1 nodo2 nodo3 … nodoN repartidor tareaN,… , tarea3, tarea2, tarea1
  • 34. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker Swarm Qué es un Cluster nodo1 nodo2 nodo3 … nodoN repartidor docker run -d sinologic/asterisk asterisk -gvc docker run -d sinologic/asterisk asterisk -gvc *Cada Asterisk actúa como un proceso distribuido tareaN,… , tarea3, tarea2, tarea1
  • 35. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Docker Swarm Qué es un Cluster nodo1 nodo2 nodo3 … nodoN repartidor asterisk asterisk tareaN,… , tarea3, tarea2, tarea1
  • 36. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk
  • 37. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk DEMO
  • 38. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Vamos a hacerlo en pequeño
  • 39. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Presentación del Nodo Sistema: Raspberry PI 2 Model B v.1.1 Procesador: ARM v.7 con 4 núcleos Memoria RAM: 1Gb SO: Raspbian Jessie September 2015 Kernel: 4.1 Docker versión: hypriot 1.8.3

  • 40. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk SWARM Nodo NNodo 1 Nodo 2 · · · comandos
  • 41. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk ¿PREGUNTAS?
  • 42. Elio Rojano y Rosa AtienzaUtilizando Docker con Asterisk Gracias! - A los creadores de Docker y Asterisk por crear estas grandes aplicaciones. - A Avanzada7 por invitarnos a dar estas conferencias. - A Pablo por dejarnos algo de tiempo para investigar y hacer esta charla. - A los lectores de sinologic.net. - A vosotros por seguir aquí.