docker para data scientist - master en data science urjc

83
Tema III: Docker Arquitecturas en la nube

Upload: micael-gallego

Post on 15-Jan-2017

367 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Docker para Data Scientist - Master en Data Science URJC

Tema III: Docker

Arquitecturas en la nube

Page 2: Docker para Data Scientist - Master en Data Science URJC

2

Docker

• Docker

• Docker para DataScience

• Docker en cluster

• Docker Swarm

• Popularidad de docker

Page 3: Docker para Data Scientist - Master en Data Science URJC

3

Docker

• Los contenedores son una tecnología que ofrece unas ventajas similares a las VMs pero aprovechando mejor los recursos:– Los contenedores tardan milisegundos en

arrancar– Consumen únicamente la memoria que

necesita la app ejecutada en el contenedor. Una VMs reserva la memoria completa

Page 4: Docker para Data Scientist - Master en Data Science URJC

4

Docker

• Es la tecnología de contenedores más popular, (aunque sólo tiene 3 años)

• Es para linux, aunque dispone de herramientas para desarrolladores en windows y mac

• Existe un repositorio de imágenes (hub) con contenedores públicos

https://www.docker.com/

Page 5: Docker para Data Scientist - Master en Data Science URJC

5

Page 6: Docker para Data Scientist - Master en Data Science URJC

6

Docker

• ¿Por qué son tan eficientes los contenedores?– Para ejecutar un contenedor no se necesita

hypervisor porque no se ejecuta un sistema operativo invitado y no hay que simular HW

– Un contenedor es un paquete que contiene una app y todo el sw necesario para que se ejecute (python, Java, gcc, libs….)

– El contenedor es ejecutado directamente por el kernel del host como si fuera una app más pero de forma aislada del resto

Page 7: Docker para Data Scientist - Master en Data Science URJC

7

Docker

Page 8: Docker para Data Scientist - Master en Data Science URJC

8

Docker

Máquinas Virtuales ContenedoresMás pesadas Más ligerasVarios procesos Un único procesoConexión por ssh (aunque esté en local)

Acceso directo al contenedor

Más seguridad porque están más aisladas del host

Potencialmente menor seguridad porque se ejecutan como procesos en el host

Principales diferencias

Page 9: Docker para Data Scientist - Master en Data Science URJC

9

Docker

• Formato de distribución y ejecución de servicios– Cada sistema linux tiene su propio sistema de

distribución y ejecución de servicios– Las apps comparten recursos del servidor sin ningún

tipo de aislamiento entre ellas– Un servicio depende de las versiones concretas de

librerías instaladas (problemas de compatibilidad)– Los contenedores se pueden ver como un estádar

empaquetado y ejecución de servicios en linux

Page 10: Docker para Data Scientist - Master en Data Science URJC

10

Docker

• Formato de distribución y ejecución de servicios

Page 11: Docker para Data Scientist - Master en Data Science URJC

11

Docker

• Docker es mucho más que contenedores: herramientas, servicios...

Page 12: Docker para Data Scientist - Master en Data Science URJC

12

Docker

• La empresa Docker Inc. ofrece muchos servicios y herramientas relacionados con Docker

Page 13: Docker para Data Scientist - Master en Data Science URJC

13

Docker

• Ejecución de contenedores– Linux

● Tecnología muy madura● Disponible en cualquier distribución linux

– Windows● Tecnología preliminar (publicado hace un mes)● Disponible en la última versión de Windows Server

– Una imagen linux no se puede ejecutar en windows (ni viceversa)

Page 14: Docker para Data Scientist - Master en Data Science URJC

14

Docker

• Desarrollo con contenedores– Linux: Se usan contenedores de forma nativa– Windows y Mac:

● Se utiliza un linux virtualizado● Existen dos versiones:

– Docker Toolbox: basada en VirtualBox– Docker for windows o mac: Mucho más integrada

en el sistema), pero sólo funciona en versiones muy recientes

https://docs.docker.com/engine/installation/

Page 15: Docker para Data Scientist - Master en Data Science URJC

15

Docker

•Conceptos básicos docker

Page 16: Docker para Data Scientist - Master en Data Science URJC

16

Docker

•Conceptos básicos docker– Docker Engine:

● Servicio que permite la gestión de imágenes y contenedores

● Se puede gestionar ese servicio usando el comando docker o con una API REST

● Puede gestionar docker localmente, en una VM o en la nube

Page 17: Docker para Data Scientist - Master en Data Science URJC

17

Docker

•Conceptos básicos docker– Docker Image:

● Plantilla básica para un contenedor● Normalmente contiene el SO (ubuntu),

libs (Java) y la app (webapp.jar)● Se utiliza para ejecutar un contenedor● Hay muchas imágenes en el Docker Hub

https://hub.docker.com/

Page 18: Docker para Data Scientist - Master en Data Science URJC

18

Docker

•Conceptos básicos docker– Docker Container:

● Se crea partiendo desde una imagen● Es el equivalente a una VM● Cuando se escriben o modifican ficheros

en el contenedor, no se modifica la imagen original, se modifica el contenedor

Page 19: Docker para Data Scientist - Master en Data Science URJC

19

Docker

•Conceptos básicos docker– Docker Container:

● Un contenedor se pueden iniciar, parar, mover y borrar

● Cuando se reanuda la ejecución, se conservan los cambios (en disco) de la ejecución anterior

● No se pueden pausar y mantener la memoria (como si se hace en las VMs)

Page 20: Docker para Data Scientist - Master en Data Science URJC

20

Docker

•Conceptos básicos docker– Docker Container:

● Contenedores para servicios: Se ejecutan constantemente y puede tener sentido detener y reanudar después

● Contenedores para comandos: Se ejecutan para ejecutar un comando y los resultados del comando se guardan en el host. Se borran al finalizar la ejecución

Page 21: Docker para Data Scientist - Master en Data Science URJC

21

Docker

•Conceptos básicos docker– Docker Container:

● Contenedores para servicios: Son accesibles mediante un puerto (en una IP local o directamente en localhost)

● Contenedores para comandos: Obtienen ficheros del host, los procesan y el resultado queda en el host

Page 22: Docker para Data Scientist - Master en Data Science URJC

22

Docker

•Conceptos básicos docker– Docker Container:

● A diferencia de las VMs, los contenedores no ocupan apenas espacio en disco porque no se copia la imagen por cada contenedor

● Se lee directamente desde la imagen y sólo se guardan los nuevos ficheros o las modificaciones que se hacen sobre la imagen

● Esto se consigue gracias al union-file-system

Page 23: Docker para Data Scientist - Master en Data Science URJC

23

Docker

•Conceptos básicos docker– Docker Registry:

● Repositorio de imágenes Docker● Las imágenes se guardan en repositorios● Se pueden tener repositorios públicos o

privados● El registro público es Docker Hub. Cualquiera

puede hacerse una cuenta y subir imágenes.● Se puede instalar un registro privado

Page 24: Docker para Data Scientist - Master en Data Science URJC

24

Docker

•Practicando con Docker– Para experimentar con docker vamos a seguir un

tutorial oficial● https://github.com/docker/labs/tree/master/beginner

– Otros tutoriales oficiales más avanzados● https://docs.docker.com/engine/tutorials/dockerizing/● https://docs.docker.com/engine/tutorials/usingdocker/● https://docs.docker.com/engine/tutorials/dockerimages/● https://docs.docker.com/engine/tutorials/networkingcontainers/● https://docs.docker.com/engine/tutorials/dockervolumes/● https://docs.docker.com/engine/tutorials/dockerrepos/

Page 25: Docker para Data Scientist - Master en Data Science URJC

25

Docker

•Practicando con DockerPara información de referencia se puede consultar la documentación oficial

● https://docs.docker.com/

Page 26: Docker para Data Scientist - Master en Data Science URJC

26

Docker

•Referencias y páginas de interés– Tutorial básico castellano

● https://www.adictosaltrabajo.com/tutoriales/docker-for-dummies/

– Página resumen● https://github.com/wsargent/docker-cheat-s

heet/blob/master/README.md

Page 27: Docker para Data Scientist - Master en Data Science URJC

27

Docker

• Docker

• Docker para DataScience

• Docker en cluster

• Docker Swarm

• Popularidad de docker

Page 28: Docker para Data Scientist - Master en Data Science URJC

28

Docker para Data Science

• Docker tiene las siguientes ventajas para los desarrolladores en Data Science:– Te permite tener en un entorno local todo el

software necesario (Cloudera, prediction.io...) para el procesamiento de datos de forma sencilla

– Te permite empaquetar tu aplicación con todo lo necesario para que se pueda ejecutar sin problemas en servidores

Page 29: Docker para Data Scientist - Master en Data Science URJC

29

Docker para Data Science

• Horton + Red Sqirl

https://redsqirl.com/

Page 30: Docker para Data Scientist - Master en Data Science URJC

30

Docker para Data Science

• Hortonworks + Red Sqirl

– Execute the script: /usr/local/bin/create_cluster.sh– When it says installation complete, type: Ctrl-Z bg then

Ctrl-L or clear– Wait that hadoop is online, it could take several minutes,

the command hadoop fs -ls / should execute. While everything is being installed you will get "command not found" then "ConnectionRefused" errors.

– Puertos: Ambari 8080, Yarn 8088

https://hub.docker.com/r/redsqirl/hortonworks-hdp/

docker run ­i ­t ­p 8842:8842 ­p 8080:8080 ­p 8088:8088 \    redsqirl/hortonworks­hdp /usr/local/bin/bootstrap.sh

Page 31: Docker para Data Scientist - Master en Data Science URJC

31

Docker para Data Science

• Cloudera en Docker– Cloudera tiene una imagen oficial para

probar en local– No se recomienda para producción

https://www.youtube.com/watch?v=lq6Yr6i33i8

Page 32: Docker para Data Scientist - Master en Data Science URJC

32

Docker para Data Science

• Cloudera en Docker– La imagen de cloudera incluye la

distribución open-source con CDH y Cloudera Manager

– Se puede descargar la imagen con

– Ocupa 4.4Gbytes, así que paciencia descargando

https://www.cloudera.com/documentation/enterprise/5-6-x/topics/quickstart_docker_container.html

docker pull cloudera/quickstart:latest

Page 33: Docker para Data Scientist - Master en Data Science URJC

33

Docker para Data Science

• Cloudera en Docker– Se puede ejecutar cloudera con el siguiente

comando

– Inicia todos los servicios CDH y arranca una shell dentro del contenedor

https://www.cloudera.com/documentation/enterprise/5-6-x/topics/quickstart_docker_container.html

docker run --hostname=quickstart.cloudera --privileged=true \ -t -i -p 8888:8888 -p 80:80 \ --name cloudera cloudera/quickstart \ /usr/bin/docker-quickstart

Page 34: Docker para Data Scientist - Master en Data Science URJC

34

Docker para Data Science

• Cloudera en Docker

https://www.cloudera.com/documentation/enterprise/5-6-x/topics/quickstart_docker_container.html

Page 35: Docker para Data Scientist - Master en Data Science URJC

35

Docker para Data Science

Con Docker Toolbox hay que cambiar 127.0.0.1 por la IP de la máquina virtual. Además, hay que abrir los puertos en Virtualbox en “Settings > Network > Advanced > Port Forwarding”

http://127.0.0.1/

Page 36: Docker para Data Scientist - Master en Data Science URJC

36

Docker para Data Science

http://127.0.0.1:8888

User: clouderaPass: cloudera

Con Docker Toolbox hay que cambiar 127.0.0.1 por la IP de la máquina virtual. Además, hay que abrir los puertos en Virtualbox en “Settings > Network > Advanced > Port Forwarding”

Page 37: Docker para Data Scientist - Master en Data Science URJC

37

Docker para Data Science

Con Docker Toolbox hay que cambiar 127.0.0.1 por la IP de la máquina virtual. Además, hay que abrir los puertos en Virtualbox en “Settings > Network > Advanced > Port Forwarding”

Page 38: Docker para Data Scientist - Master en Data Science URJC

38

Docker para Data Science

• Cloudera en Docker– Parar el contenedor:

● exit en el contenedor● docker stop cloudera en el host

– Salir de la shell sin parar el contenedor: Ctrl+p seguido de Ctrl+q en el contenedor

– Borrar el contenedor (una vez parado): docker rm cloudera en el host

https://www.cloudera.com/documentation/enterprise/5-6-x/topics/quickstart_docker_container.html

Page 39: Docker para Data Scientist - Master en Data Science URJC

39

Docker para Data Science

• Prediction.io en Docker– Apache Prediction.io es un servidor de machine

learning open source

http://predictionio.incubator.apache.org/

Page 40: Docker para Data Scientist - Master en Data Science URJC

40

Docker para Data Science

• Prediction.io en Docker– Este contenedor incluye Apache Spark, HBase and

Elasticsearch– Iniciar contenedor

– Luego arrancar los servicios

https://github.com/sphereio/docker-predictionio

docker run -it -v $HOME/MyEngine:/MyEngine -p 8000:8000 \ sphereio/predictionio /bin/bash

pio-start-allpio status

Page 41: Docker para Data Scientist - Master en Data Science URJC

41

Docker

• Docker

• Docker para DataScience

• Docker en cluster

• Docker Swarm

• Popularidad de docker

Page 42: Docker para Data Scientist - Master en Data Science URJC

42

Docker en cluster

• Servicios y contenedores– Un contenedor con todos los servicios: Una

aplicación se puede empaquetar como una imagen docker con todos los servicios incluidos (web, BBDD, caché, etc…).

– Un contenedor por servicio: También puede empaquetarse como muchas imágenes diferentes. Al arrancar habrá varios contenedores comunicados entre sí por red

Page 43: Docker para Data Scientist - Master en Data Science URJC

43

Docker en cluster

• Un contenedor con todos los servicios– Ventajas

● Más fácil de crear y probar (sólo un Dockerfile)● La comunicación de los servicios es siempre por

localhost (más sencilla)● Se descarga de forma automática con un comando

(ideal para distribuir)

Page 44: Docker para Data Scientist - Master en Data Science URJC

44

Docker en cluster

• Un contenedor con todos los servicios– Desventajas

● Un contenedor sólo puede escalar verticalmente (con una máquina más potente), pero no horizontalmente (usando varias máquinas)

● No es tolerante a fallos (un error en un servicio afecta a todos los demás)

Page 45: Docker para Data Scientist - Master en Data Science URJC

45

Docker en cluster

• Un contenedor por servicio– Ventajas

● Las aplicaciones pueden escalar horizontalmente en un cluster

● Cada contenedor puede estar en una máquina diferente

● Se pueden clonar servicios que necesitan más potencia de cómputo en varias máquinas (web, servicios statless)

● Es tolerante a fallos (un servicio se cae y se puede reiniciar)

Page 46: Docker para Data Scientist - Master en Data Science URJC

46

Docker en cluster

• Un contenedor por servicio– Desventajas

● Puede ser más difícil de crear si tu código está en varios contenedores

● Para webs sencillas se puede tener un contenedor para la BBDD y otros para la web (o varios)

● Existen muchas formas diferentes de gestionar una aplicación formada por varios servicios

– Una sola máquina: docker-compose– Cluster: orquestadores de contendores

● Muchas formas de distribución del “conjunto”

Page 47: Docker para Data Scientist - Master en Data Science URJC

47

Docker en cluster

• Orquestadores de contenedores– Software encargado de gestionar la ejecución de

contenedores en un cluster de máquinas– Pueden tratar varios contenedores como una

única unidad lógica (aplicación)– Redes aisladas para contenedores de la misma

app– Políticas de reinicio en caso de caída del servicio– Políticas de replicación de contenedores por carga

Page 48: Docker para Data Scientist - Master en Data Science URJC

48

Docker en cluster

• Orquestadores de contenedores

http://kubernetes.io/ http://mesos.apache.org/ https://docs.docker.com/engine/swarm/

Page 49: Docker para Data Scientist - Master en Data Science URJC

49

Docker en cluster

• Docker Swarm– Orquestador oficial del creador de Docker– Un poco inmaduro: Publicado en Julio de 2016– Posibilidad de gestionar clusters de máquinas

virtuales en AWS y Azure– Conceptos y comandos similares en local y en el

cluster

https://docs.docker.com/engine/swarm/

Page 50: Docker para Data Scientist - Master en Data Science URJC

50

Docker en cluster

• Docker Swarm

Docker en un servidor Docker en un cluster

Page 51: Docker para Data Scientist - Master en Data Science URJC

51

Docker en cluster

• Kubernetes– Desarrollado principalmente por Google basado

en sus sistemas internos de orquestación (Borg)– Muy maduro. El más utilizado y con más futuro– Disponible de forma sencilla en Google Cloud

Platform y se puede instalar en local, AWS, etc– Conceptos y comandos diferentes a docker en

local

http://kubernetes.io/ https://www.cncf.io/

Page 52: Docker para Data Scientist - Master en Data Science URJC

52

Docker en cluster

• Kubernetes

Page 53: Docker para Data Scientist - Master en Data Science URJC

53

Docker en cluster

• Apache Mesos– Desarrollado en la fundación Apache– Se usa sobre todo como una plataforma para

gestionar las máquinas del cluster como una unidad

– Permite ejecutar Hadoop, Kafka, Spark en el mismo cluster y también contenedores

– Cada vez se parece más a kubernetes

http://mesos.apache.org/

Page 54: Docker para Data Scientist - Master en Data Science URJC

54

Docker en cluster

• Existen diversas formas de ejecutar contenedores en un proveedor cloud– Ejecución manual de contenedores en una

VM (IaaS)– Instalación de un orquestador de

contenedores en un cluster de Vms– Uso de servicios de orquestación ofrecidos

por el proveedor cloud

Page 55: Docker para Data Scientist - Master en Data Science URJC

55

Docker en cluster

• Instalación de un orquestador de contenedores en un cluster de VMs – Kubernetes

● Se puede instalar en AWS y Azure

● Se ofrece como servicio en Google Cloud

– Docker Swarm● Se podrá instalar de forma sencilla en AWS y Azure

(todavía en beta)https://blog.docker.com/2016/06/azure-aws-beta/

http://kubernetes.io/docs/getting-started-guides/aws/ http://kubernetes.io/docs/getting-started-guides/azure/

Page 56: Docker para Data Scientist - Master en Data Science URJC

56

Docker en cluster

• Muchos proveedores PaaS están ofreciendo la posibilidad de ejecutar la app como un contenedor docker

Amazon EC2 Container Service

(ECS)

Google Container Engine (GKE)

Orquestación propietaria

Basadas en kubernetes

Page 57: Docker para Data Scientist - Master en Data Science URJC

57

Docker

• Docker

• Docker para DataScience

• Docker en cluster

• Docker Swarm

• Popularidad de docker

Page 58: Docker para Data Scientist - Master en Data Science URJC

58

• Sólo está disponible en la versión linux (1.12) o en Docker for Windows o Docker for Mac

• No está disponible en Docker Toolbox

Docker Swarm

Worker Nodes

Manager Nodes

Page 59: Docker para Data Scientist - Master en Data Science URJC

59

• Los hosts con el servicio de docker (Docker Engine) que participan en un cluster swarm se dice que corren en modo swarm

• Swarm es un cluster de máquinas corriendo Docker Engine

• Sobre este cluster se pueden desplegar servicios

• Cuando se utiliza Docker Engine sin swarm, se ejecutan comandos Docker

• Cuando se utiliza Docker Engine en modo swarm, se orquestan servicios

Docker Swarm

Page 60: Docker para Data Scientist - Master en Data Science URJC

60

• Estructura de un cluster– Node

● host corriendo Docker Engine en modo swarm

– Manager node● Nodos del swarm que reciben descripciones de servicios y

eligen cómo desplegarlos en el cluster (dispatching)● El dispatching se realiza enviando unidades de tareas a los

worker nodes● Entre todos los manager nodes se elige a un líder,

encargado de la orquestación● Responsables de mantener los servicios funcionando

Docker Swarm

Page 61: Docker para Data Scientist - Master en Data Science URJC

61

• Estructura de un cluster– Worker node

● Reciben las tareas de los manager nodes● Notifican a los manager nodes de cambios en las tareas del

worker node

– Managers como workers● Por defecto los manager nodes son también worker

nodes, pero podrían dejarse exclusivamente como manager nodes

Docker Swarm

Page 62: Docker para Data Scientist - Master en Data Science URJC

62

• Servicios Definición de las tareas a ejecutar en los worker nodes Principal medio de interacción con el cluster por parte

del usuario Cuando se crea un servicio se especifican

Imágenes docker a utilizar Comandos a ejecutar dentro de dichas imágenes

Docker Swarm

Page 63: Docker para Data Scientist - Master en Data Science URJC

63

• Tipos de servicios Servicios simples: definen un conjunto de tareas que se

ejecutarán en los worker nodes determinados por el orquestador

Servicios replicados: el orquestador debe garantizar que las tareas del servicio están replicadas el número de veces especificado

Servicios globales: el orquestador debe garantizar que cada tarea del servicio se está ejecutando en cada worker node del cluster

Docker Swarm

Page 64: Docker para Data Scientist - Master en Data Science URJC

64

• Tipos de servicios

Docker Swarm

Page 65: Docker para Data Scientist - Master en Data Science URJC

65

• Tareas– Son la unidad mínima en swarm– Formada por

● Imagen docker● Comandos a ejecutar dentro del contenedor

– Una vez que una tarea se asigna a un worker node, no se puede mover

● O el contenedor se ejecuta o falla● Si falla, la tarea podría ser asignada a otro worker node

Docker Swarm

Page 66: Docker para Data Scientist - Master en Data Science URJC

66

• Tareas

Docker Swarm

Page 67: Docker para Data Scientist - Master en Data Science URJC

67

• Balanceo de carga Los servicios se pueden exponer hacia el exterior

Swarm puede utilizar un puerto por defecto (Published Port)

El usuario puede escoger un puerto determinado en el rango 30,000-32,767

Swarm utiliza ingress load balancing para dirigir el tráfico hacia el contenedor Cualquier nodo del cluster puede recibir peticiones

(aunque no esté ejecutando el servicio) Todos dirigirán las peticiones hacia los nodos que tengan

la tarea

Docker Swarm

Page 68: Docker para Data Scientist - Master en Data Science URJC

68

• Creación de un docker Swarm en un cluster– Se instala docker en cada nodo del cluster– En un nodo se ejecuta el comando

– Salida:

– Los demás nodos se pueden añadir como workers o como managers

To add a worker to this swarm, run the following command:     docker swarm join \         ­­token SWMTKN­1­49nj1xv8rssmk743ojnwacrr2e7c \         192.168.99.100:2377 

Docker Swarm

docker swarm init

Page 69: Docker para Data Scientist - Master en Data Science URJC

69

• Desplegar un servicio Ejecutar el comando:

Comprobar que está corriendo con el comando:

Docker Swarm

docker service create ­­replicas 1 \   ­­name helloworld alpine ping docker.com

docker service ls

Page 70: Docker para Data Scientist - Master en Data Science URJC

70

• Controlar el servicio Inspeccionar el servicio:

Docker Swarm

docker service inspect ­­pretty helloworld

ID:            9uk4639qpg7npwf3fn2aasksr Name:          helloworld Mode:          Replicated   Replicas:    1 Placement: UpdateConfig:   Parallelism: 1   On failure:  pauseContainerSpec:   Image:       alpine   Args:        ping docker.com 

Page 71: Docker para Data Scientist - Master en Data Science URJC

71

• Controlar el servicio Dónde se ejecuta:

Docker Swarm

docker service ps helloworld

ID                         NAME          IMAGE   NODE           DESIRED STATE  CURRENT STATE           ERROR7l2sro6xvka2xwdwddk56q4d7  helloworld.1  alpine  mica­portatil  Running        Running 12 minutes ago

Page 72: Docker para Data Scientist - Master en Data Science URJC

72

• Controlar el servicio Para tener un control más preciso del servicio hay

que conectarse al nodo donde está el servicio y ejecutar el comando:

Docker Swarm

docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS          PORTS  NAMESeedc91eea3a0        alpine:latest       "ping docker.com"   15 minutes ago      Up 15 minutes 

Page 73: Docker para Data Scientist - Master en Data Science URJC

73

• Escalar el servicio Podemos replicar los contenedores por el cluster

Docker Swarm

docker service scale helloworld=4

ID                         NAME          IMAGE   NODE           DESIRED STATE  CURRENT STATE           ERROR7l2sro6xvka2xwdwddk56q4d7  helloworld.1  alpine  mica­portatil  Running        Running 17 minutes ago  ce51o29ahtf5x0livwe9jk9xp  helloworld.2  alpine  mica­portatil  Running        Running 3 seconds ago   ch9muwzzfwffwzd1jss9fto4f  helloworld.3  alpine  mica­portatil  Running        Running 3 seconds ago   a6qsw3rb05pmaudwvb6ate0af  helloworld.4  alpine  mica­portatil  Running        Running 3 seconds ago   

docker service ps helloworld

Page 74: Docker para Data Scientist - Master en Data Science URJC

74

• Eliminar el servicio Comando

Docker Swarm

docker service rm helloworld

Page 75: Docker para Data Scientist - Master en Data Science URJC

75

• Servicio con puertos públicos Comando

Abrir en el browser

Docker Swarm

docker service create ­­name web \    ­­replicas 3 ­­publish 9999:80 nginx

http://127.0.0.1:9999/

Page 76: Docker para Data Scientist - Master en Data Science URJC

76

• Docker compose y swarm Servicios multicontenedor definidos con docker

compose se pueden desplegar en un cluster swarm Documentación

Docker Swarm

https://docs.docker.com/compose/swarm/

Page 77: Docker para Data Scientist - Master en Data Science URJC

77

Docker

• Docker

• Docker para DataScience

• Docker en cluster

• Docker Swarm

• Popularidad de docker

Page 78: Docker para Data Scientist - Master en Data Science URJC

78

Page 79: Docker para Data Scientist - Master en Data Science URJC

79

Popularidad de docker

https://www.docker.com/survey-2016

Page 80: Docker para Data Scientist - Master en Data Science URJC

80

Popularidad de docker

https://www.docker.com/survey-2016

Page 81: Docker para Data Scientist - Master en Data Science URJC

81

Popularidad de docker

https://www.docker.com/survey-2016

Page 82: Docker para Data Scientist - Master en Data Science URJC

82

Popularidad de docker

https://www.docker.com/survey-2016

Page 83: Docker para Data Scientist - Master en Data Science URJC

83

Popularidad de docker

https://www.docker.com/survey-2016