@@ -94,10 +94,27 @@ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
9494 curl -L $base /docker-machine-Windows-x86_64.exe > " $HOME /bin/docker-machine.exe" &&
9595 chmod +x " $HOME /bin/docker-machine.exe"
9696
97+ # Linux
98+ ssh gis@137.135.216.143
99+ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
100+ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
101+ sudo apt-get update
102+ sudo apt-get install virtualbox -y
103+
104+ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
105+ curl -L $base /docker-machine-$( uname -s) -$( uname -m) > /tmp/docker-machine &&
106+ sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
107+ chmod +x /usr/local/bin/docker-machine
108+
109+
97110# Comprueba que la instalación se ha hecho correctamente
98111docker-machine version
99112
100113# Cómo crear una máquina con Docker Engine con docker-machine
114+ # Linux
115+ sudo docker-machine create master-0
116+ sudo docker-machine create master-0 --virtualbox-no-vtx-check
117+ vboxmanage list vms
101118# Virtual Box
102119docker-machine create --driver virtualbox master-0
103120# Hyper-V
@@ -185,6 +202,12 @@ eval $(docker-machine env master-1)
185202docker node ls
186203# El asterisco te dice desde dónde estás lanzando el comando.
187204
205+ # En el master podemos lanzar este comando para inspeccionarse a si mismo
206+ docker node inspect self --pretty
207+
208+ # o bien a otro nodo
209+ docker node inspect worker-0 --pretty
210+
188211# Lo siguiente es desplegar una aplicación en este cluster
189212docker service create --name web-nginx \
190213 -p 8080:8080 \
@@ -207,7 +230,10 @@ docker service ls
207230docker service ps web-nginx
208231
209232# Los servicios se despliegan indistintamente en masters y en workers. Para evitarlo, puedes usar constraints
210-
233+ docker service create \
234+ --name nginx-workers-only \
235+ --constraint node.role==worker \
236+ nginx
211237
212238
213239# Visualizador de Docker Swarm
@@ -230,7 +256,10 @@ docker service ps viz
230256docker-machine ip master-1 # (192.168.99.109:9090) #Esto es así porque a nivel de networking se configura por defecto el modo Ingress
231257
232258# Modo Ingress vs. Host
233-
259+ # Ingress: da igual a qué nodo pregunte, aunque no tenga réplica me va a contestar bien
260+ docker service create --name my_web --replicas 2 --publish published=8080,target=80 nginx
261+ # Host: solo me contestará bien si tiene una réplica
262+ docker service create --name my_web --replicas 2 --publish published=8080,target=80,mode=host nginx
234263
235264# Docker Machine loves Azure
236265# https://docs.docker.com/machine/drivers/azure/
@@ -240,9 +269,11 @@ export AZURE_RESOURCE_GROUP="north-docker"
240269
241270docker-machine create --driver azure docker-on-azure
242271
243-
244272# Docker Stacks #
245273
274+ # Con Docker Stacks podemos utilizar archivos de la misma forma que hacíamos con Docker Compose pero orientados a Docker Swarm.
275+
276+
246277
247278# Deberes:
248279# 1. Desplegar con Docker Compose una aplicación que conste de un frontal y un backend (buscar ejemplo)
0 commit comments