Herramientas de Docker
Play With Docker
https://labs.play-with-docker.com/
Este es un entorno que Docker proporciona durante 4 horas para que puedas estudiar sin necesitar buen hardware. Es una iniciativa muy buena.
Crea una cuenta en DockerHub o GitHub para poder utilizarlo.
Este proyecto consiste en crear Docker in Docker conocido como DinD. Básicamente Docker tiene una imagen como sistema operativo preparado y con Docker instalado que puedes tratarlo como si fuera un nodo.
Para niveles de procesamiento un poco más altos es posible crear un master con un worker y añadir 3 workers más, o 5 managers.


Para acceder al SSH directamente desde tu máquina puedes copiar la dirección y pegarla en tu terminal.
Tuve un problema y solo añadiendo esto al final pude resolverlo
ssh ip172-18-0-33-cb48aop917ag00bjpb2g@direct.labs.play-with-docker.com -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa
No utilices este entorno con datos sensibles y esta línea SSH no necesita contraseña, cualquiera con acceso puede entrar en la máquina.
Una cosa observada es que no puedes utilizar el terminal de playwithdocker en los workers.
Cuando publicas un puerto aparece allí arriba y si haces clic en el enlace te redirige al servicio

Es un cluster completo
Swarmpit
Tanto swarmpit como portainer hacen prácticamente lo mismo. Sin embargo, portainer tiene más recursos, pero una interfaz peor.
Vamos a analizar su despliegue
Por el sitio tiene todo el método de instalación, pero si también ejecutas el stack a continuación simplemente instalará lo mismo.
version: '3.3'
services:
app:
image: swarmpit/swarmpit:latest
environment:
- SWARMPIT_DB=http://db:5984
- SWARMPIT_INFLUXDB=http://influxdb:8086
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 888:8080
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080"]
interval: 60s
timeout: 10s
retries: 3
networks:
- net
deploy:
resources:
limits:
cpus: '0.50'
memory: 1024M
reservations:
cpus: '0.25'
memory: 512M
placement:
constraints:
- node.role == manager
db:
image: couchdb:2.3.0
volumes:
- db-data:/opt/couchdb/data
networks:
- net
deploy:
resources:
limits:
cpus: '0.30'
memory: 256M
reservations:
cpus: '0.15'
memory: 128M
influxdb:
image: influxdb:1.7
volumes:
- influx-data:/var/lib/influxdb
networks:
- net
deploy:
resources:
limits:
cpus: '0.60'
memory: 512M
reservations:
cpus: '0.30'
memory: 128M
agent:
image: swarmpit/agent:latest
environment:
- DOCKER_API_VERSION=1.35
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- net
deploy:
# Observa que tiene un agente en cada nodo
mode: global
labels:
swarmpit.agent: 'true'
resources:
limits:
cpus: '0.10'
memory: 64M
reservations:
cpus: '0.05'
memory: 32M
networks:
net:
driver: overlay
volumes:
db-data:
driver: local
influx-data:
driver: local
El comando de abajo se ofrece dentro de su propio sitio. Ejecútalo en alguno de los managers de playwithdocker y verás abrirse el puerto 888 y haz un tour por la herramienta.
docker run -it --rm \
--name swarmpit-installer \
--volume /var/run/docker.sock:/var/run/docker.sock \
swarmpit/install:1.9
Portainer
https://www.portainer.io/?hsLang=en> https://docs.portainer.io/v/ce-2.9/start/install
Portainer, al igual que Docker, tiene la community edition que es gratuita o la business edition.
Harbor
Harbor es un registry open source graduado en CNCF.
Algunas características:
- Realiza análisis de seguridad y vulnerabilidades de las imágenes
- Firma y validación de contenido
- Escalable
- UI Web y API Extensible
- Control de usuarios y permisos