Skip to content

Latest commit

 

History

History
93 lines (71 loc) · 1.98 KB

README.md

File metadata and controls

93 lines (71 loc) · 1.98 KB

Clase de Docker

Aplicacion en Node.JS, que tenga las siguientes funcionalidades:

  • Subir ficheros
  • Obtener ficheros subidos
  • Crear usuarios
    • Usuario/Password
  • Autenticar usuarios
  • Asignar permisos a los ficheros subidos

S3, Simple Storage Service de Amazon MinIO - Open Source

docker run -p 9002:9002 -p 9003:9003 -v $PWD/minio-data:/data \
  quay.io/minio/minio server /data --address=":9002" --console-address ":9003"

Lanzar postgres base de datos

docker run -d \
    --name some-postgres \
    -p 5436:5432 \
    -e POSTGRES_PASSWORD=postgres \
    -e PGDATA=/var/lib/postgresql/data/pgdata \
    -v $PWD/postgres-data:/var/lib/postgresql/data \
    postgres:14.2-alpine

Lanzar portainer, dashboard de docker

docker volume create portainer_data

docker run -d -p 8000:8000 -p 9900:9000 -p 9443:9443 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:2.9.3

Desplegar aplicacion

  • Construir un Dockerfile
  • Construir la imagen Docker
  • Probar imagen docker en local
  • Subir la imagen Docker a un registro de contenedores (Docker Hub, quay.io, ghcr.io)
  • Crear un cluster de Kubernetes
  • Desplegar contenedor en Kubernetes
  • Probar el servicio

Construir imagen:

docker build -t kfsoftware/curso-nodejs:1.0.1 .

Subir la imagen a docker hub:

docker push kfsoftware/curso-nodejs:1.0.1

Lanzar imagen:

docker run --rm --network host  --name curso-nodejs kfsoftware/curso-nodejs:1.0.1

Instalar LENS

https://k8slens.dev/

Desplegar cluster de Kubernetes

Instalar KinD: https://kind.sigs.k8s.io/

kind create cluster
kubectl create deployment curso --image=kfsoftware/curso-nodejs:1.0.1

Crear un servicio

kubectl expose deployment curso --port=80 --target-port=3000

Acceder al servicio

kubectl port-forward svc/curso 3002:80