Entradas

Mostrando las entradas etiquetadas como docker

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO] ...

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO] ...

Kubernetes - Relación entre un POD y un SERVICE

Imagen
A continuación se detalla como se comunica un Pod con un Service en el cluster de Kubernetes Diagrama de configuración Archivo client-pod.yaml apiVersion: v1 kind: Pod metadata: name: client-pod labels: component: web spec: containers: - name: client image: stephengrider/multi-client ports: - containerPort: 3000 resources: limits: memory: "128Mi" cpu: "500m" labels: Permite asignar un nombre al pod. Es una relación clave-valor; en este caso componente:web ports: Permite asignar el valor del puerto por donde el pod va a escuchar Archivo client-node-port.yaml apiVersion: v1 kind: Service metadata: name: client-node-port spec: type: NodePort ports: - port: 3050 targetPort: 3000 nodePort: 31515 selector: component: web selector: Permite asociar el servicio al pod, mediante la relación clave-valor; en este caso componente:web ...

Kubernetes -Tipos de objetos

Imagen
A continuación se detalla los tipos de objetos se se pueden configurar en Kubernetes de acuerdo a version del api apiVersion: v1 Objeto Descripción componentStatus Endpoint Namespace configMap Event Pod Es una agrupación de contenedores con un mismo propósito en común. Un pod es la unidad más pequeña que se puede deployar en Kubernetes Ejemplo archivo client-pod.yaml apiVersion: v1 kind: Pod metadata: name: client-pod labels: #name: myapp component: web spec: containers: - name: client image: stephengrider/multi-client ports: - containerPort: 3000 resources: limits: memory: "128Mi" cpu: "500m" ...

Comandos Kubernetes

Imagen
A continuación se detalla un listado de comandos para Kubernetes Comando Descripción Ejemplo Básicos kubectl cluster-info Información del cluster de kubernetes, configurado en el proceso de instalación kubectl cluster-info kubectl apply -f <filename> Permite cambiar la configuración del cluster de Kubernetes kubectl apply -f client-pod.yaml kubectl apply -f client-node-port.yaml kubectl get <object type> Permite verificar el estado de los pods kubectl get pods kubectl get services kubectl get all kubectl describe <object ty...

Dockerfile multi fase

Imagen
A continuación se detalla la configuración de un archivo Dockerfile multi fase; en donde, primero se utiliza una imagen alpine para construir una aplicación ReactJs y luego utilizar una imagen de nginx para deployar el contenido de la carpeta build Diagrama de configuración Archivo Dockerfile # --------------------------------- # FIRST BLOCK AS A BUILDER PHASE # --------------------------------- FROM node:16-alpine as builder WORKDIR /usr/app COPY package.json . RUN npm install COPY . . RUN npm run build # Default commando for the image, no es necesario #CMD [ ] # --------------------------------- # SECOND BLOCK AS A RUN PHASE # --------------------------------- FROM nginx COPY --from=builder /usr/app/build /usr/share/nginx/html # Default commando for the image, no es necesario ya que nginx inicia automaticamente #CMD [ ] Fase 1: Se utiliza una imagen 16-alpine como constructor, se utiliza el directorio de trabajo /usr/app , se copia el archivo package.jso...

Docker Compose

Imagen
Docker compoose permite inicializar múltiples contenedores al mismo tiempo; ademas, permite automatizar la variedad de opciones que se utiliza en los comandos con docker, como por ejemplo; docker run <arguments> Se debe utilizar el archivo docker-compose.yml en donde se puede utilizar varios comandos docker A continuación un ejemplo de creación de dos contenedores en un archivo docker-compose.yml. version: "3" services: redise-server: image: "redis" node-app: build: ./app ports: - "8081:8083" Contenedor 1: Contiene la configuración de redis, en el cual se indica que se debe usar la imagen:redis Contenedor 2: Contiene la configuración de un servidor node, en el cual se indica que se debe usar un archivo Dockerfile ubicado en la carpeta ./app; ademas, se realiza el mapeao de los puertos 8081 (máquina local) con el puerto 8083 (Servidor node) A continuación un ejemplo de creación ...

Comandos docker

A continuación se detalla un listado de comandos para Docker Comando Descripción Ejemplo Básicos docker --version Versión de docker docker --version docker info Información sobre el entrono de docker docker info docker login Para iniciar sesión en hub docker Imagenes docker images Lista las imagenes instaladas docker image inspect id_image Información detalla de la imagen docker image inspect 7adf docker pull Obtiene e instala una imagen desde hub docker docker pull ubuntu docker rmi Elimina una imagen instalada docker rmi ubuntu Contenedores ...

Comandos Docker Compose

Imagen
A continuación, se detalla los comandos de docker compose. Comando Descripción Ejemplo docker-compose up Es equivalente a docker run; por lo tanto, corre las imagenes declaradas en el archivo docker-compose.yml docker-compose up docker-compose up -d Similar a docker-compose up pero la bandera -d permite correr la imagen en background docker-compose up -d docker-compose down Permite parar las imagenes detalladas en el archivo docker-compose.yml docker-compose down docker-compose ps Ppermite ver los procesos corriendo de dicho archivo docker-compose ps docker-compose restart container_name Permite reiniciar un contenedor docker-compose restart postgres docker-compose up --build Permite reconstruir las imag...