Con docker info se puede ver toda la informacion de docker
Se trabaja con una imagen ya creada para el entendimiento de esta seccion
docker run -p 8080:80 -p 7080:7080 --name conBilling sotobotero/billingappdocker build -t billingapp --no-cache --build-arg JAR_FILE=target/*.jar .
# Run image
docker run -d -p 80:80 -p 7080:7080 --name localbillingApp billingappdocker tag billingapp ketbome/image-billingapp
# Tambien se puede agregar una version
docker tag billingapp ketbome/image-billingapp:v1
# Push al repositorio (Loguearse anteriormente)
docker push ketbome/image-billingappdocker inspect localbillingAppdocker exec -it {nombre_contenedor} shNote
La version de Docker Compose no puede ser superior a la del Docker engine Docker versioning
docker compose -f {nombre_archivo} up -d# Pausar
docker compose -f .\stack-billing.yml stop
# Remover
docker compose -f .\stack-billing.yml rmPara ver las estadisticas de los recursos de forma basica se puede hacer:
docker statsInicializar dicker swarm
docker swarm initDesplegar
docker stack deploy -c .\stack-billing.yml billing
docker stack ps billingPara poder acceder a la aplicacion hay que acceder por la IP de swarm del nodo que se puede ver en docker info
docker stack rm billing- Pods: Unidades básicas de despliegue y gestión, que agrupan uno o más contenedores con almacenamiento y red compartidos.
- Deployments: Describen el estado deseado de una implementación, gestionando las réplicas de la aplicación.
- Services: Definen cómo exponer una aplicación ejecutada en un conjunto de pods, actuando como balanceador de carga.
- ConfigMaps: Permiten desacoplar la configuración de las imágenes, almacenando variables de entorno, argumentos de línea de comandos y configuración de volúmenes.
- Labels: Pares clave-valor utilizados para organizar, seleccionar, consultar y monitorear objetos de manera eficiente.
- Selectores: Mecanismos para realizar consultas basadas en etiquetas y filtrar objetos según criterios específicos.
Los comandos basicos:
minikube start
minikube pause
minikube unpause
minikube stop
minikube config set memory 16384
minikube addons list
minikube start -p aged --kubernetes-version=v1.16.1
minikube delete --allTambien se tiene un dashboard:
minikube dashboard --urlkubectl run kbillingapp --image=sotobotero/udemy-devops:0.0.1 --port=80 80Ver los pod
kubectl get podVer la descripcion del pod
kubectl describe pod kbillingappExponer el puerto para que lo vea el cliente
kubectl expose pod kbillingapp --type=LoadBalancer --port=8080 --target-port=80Eliminar el pod
kubectl delete -n default pod kbillingappPara hacerlo poner todos los archivos uno por uno despues de la -f, Ejemplo:
kubectl apply -f .\secret-dev.yamlIdealmente en este orden
- Variables de entorno
- ConfigMap
- Almacenamiento/Volumes
- Deployments
- Services
Para eliminar:
kubectl delete -f .\Crear la imagen con jenkins y maven
docker build -t jenkins-cicd --no-cache .Correr la imagen con sus respectivos puertos
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins jenkins-cicd