USO DE IRONSECUREDOC

Docker Build Push Action (Cómo funciona para desarrolladores)

Publicado en 14 de enero, 2025
Compartir:

¿Qué es Docker?

Dockeres una potente herramienta de código abierto que facilita la creación, implementación y gestión de aplicaciones al colocarlas en contenedores ligeros y portátiles. Los contenedores empaquetan una aplicación y sus dependencias, incluidas las bibliotecas, archivos de configuración, y así sucesivamente, de modo que pueda ejecutarse incluso en diferentes entornos. Esto elimina todos los problemas de compatibilidad, lo que significa que la aplicación funcionará de la misma manera en el ordenador portátil de un desarrollador como en un servidor o en la nube. Simplifica el proceso de desarrollo, prueba y escalado al crear las herramientas de manera eficiente, enviar y ejecutar.contenedores, gestionando así los recursos de manera más simplificada.

Acción de Construcción y Push de Docker (Cómo Funciona para Desarrolladores): Figura 1 - Docker

¿Qué es una imagen de Docker?

Las imágenes son los planos tipo Docker que llevan consigo los entornos de ejecución consistentes. Los desarrolladores pueden utilizar imágenes listas para usar de Docker Hub, un registro público, o crear sus propias imágenes de Docker. Herramientas como Docker Compose y Kubernetes amplían aún más las capacidades de Docker al añadir orquestaciones sencillas de configuraciones de múltiples contenedores o gestionar necesidades complejas de escalamiento en más plataformas.

¿Por qué usar la Docker Build Push Action?

Automatización sin fricciones

La construcción y el envío manual de imágenes de Docker es arriesgado, propenso a errores y consume mucho tiempo. Automatizar estos pasos garantiza la previsibilidad y añade horas al resultado final, especialmente cuando el equipo escala o las actualizaciones son más frecuentes.

Integración sin fricciones

La acción Docker Build Push funciona de inmediato con los repositorios de GitHub para crear flujos de trabajo en torno a eventos como envíos de código, solicitudes de extracción o un cronograma.

Construcción Estándar de Imágenes

La automatización garantiza que cada vez que se construyen imágenes de Docker, sean iguales. por lo tanto, reduciendo errores/discrepancias en múltiples entornos como desarrollo, pruebas y producción.

Despliegue Fácil

Con la construcción automatizada de imágenes Docker con el build y su envío a los repositorios, la implementación puede volverse relativamente fácil. Herramientas como Kubernetes o Docker Swarm se pueden usar para extraer o construir imágenes multiplataforma directamente desde el registro de Docker y, por lo tanto, reducir el tiempo de inactividad.

Cómo funciona la acción de construcción y envío de Docker

La acción de Build and Push Docker realiza tres cosas principales:

  1. Configurar inicio de sesión de Docker: Autenticación del registro de contenedores para enviar imágenes de Docker de manera segura.

  2. Construcción de imagen: Ejecuta comandos de compilación de Docker utilizando un Dockerfile que contiene instrucciones.

  3. Push to Registry: Envía la imagen construida a un registro de contenedores objetivo.

    Estos pasos se definen en un archivo de flujo de trabajo de GitHub Actions(.github/workflows/your-workflow.yml), donde especificas desencadenadores, configuraciones de compilación y credenciales del registro.

Implementar Docker Build Push Action

1: Prepara tu repositorio

  • Agregue un Dockerfile que describa la aplicación en contenedor.
  • Agregue cualquier archivo de configuración o script requerido para la compilación.
# Use Node.js as the base image
FROM node:14
# Set the working directory
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json .
RUN npm install
# Copy the application code
COPY . .
# Expose the application’s port
EXPOSE 3000
# Start the application
CMD ["npm", "start"]
# Use Node.js as the base image
FROM node:14
# Set the working directory
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json .
RUN npm install
# Copy the application code
COPY . .
# Expose the application’s port
EXPOSE 3000
# Start the application
CMD ["npm", "start"]
#Use Node.js as the base image
#Set the working directory
#Copy package.json and install dependencies
#Copy the application code
#Expose the application's port
#Start the application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'FROM node:14 WORKDIR /app COPY package.json.RUN npm install COPY. . EXPOSE 3000 CMD ["npm", "start"]
VB   C#

2: Añadir credenciales del registro como secretos de GitHub

Para crear y enviar imágenes de Docker a un registro de contenedores, necesitas credenciales. Agrega estos como Secretos de GitHub:

  • Ve a la configuración de tu repositorio en GitHub.
  • Ve a Secrets and Variables > Actions.

    Agregue los siguientes secretos:

    NOMBRE DE USUARIO: Tu nombre de usuario de Docker Hub.

    CONTRASEÑA: Su token de acceso o contraseña de Docker Hub.

    Para otros registros, esto es similar, pero a veces requiere credenciales adicionales, por ejemplo, AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY para Amazon ECR.

    3: Crear flujo de trabajo de GitHub Actions

    Agregue la siguiente línea en el archivo de flujo de trabajo YAML en .github/workflows/docker-build-push.yml.

name: Docker Build and Push
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # Step 1: Check out the repository
      - name: Checkout code
        uses: actions/checkout@v3
      # Step 2: Log in to Docker Hub
      - name: Log in to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      # Step 3: Build and push the Docker image
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: username/repository:latest
name: Docker Build and Push
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # Step 1: Check out the repository
      - name: Checkout code
        uses: actions/checkout@v3
      # Step 2: Log in to Docker Hub
      - name: Log in to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      # Step 3: Build and push the Docker image
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: username/repository:latest
Private name:
	  #Step 1: Check out the repository
	  #Step 2: Log in to Docker Hub
Docker Build [and] Push [on]: push: branches: - main jobs: build: runs-[on]: ubuntu-latest steps: - name: Checkout code uses: actions/checkoutv3 - name: Log in [to] Docker Hub uses: docker/login-actionv2 [with]: username: ReadOnly Property $() As
	If True Then
		secrets.DOCKER_USERNAME
	End If
End Property
		  Private password:
		  $
		  If True Then
			  If True Then
				  secrets.DOCKER_PASSWORD
			  End If
		  End If
	  #Step 3: Build and push the Docker image
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	  - name: Build @and push uses: docker/build-push-action@v4 @with: context: .push: True tags: username/repository:latest
VB   C#

Push to Main: El flujo de trabajo se activará con cada push que ocurra en la rama principal.

Código de Pago: Utiliza la acción actions/checkout para sacar el repositorio.

Iniciar sesión en el Registro: Autentícate con Docker Hub utilizando los secretos proporcionados.

Construir y Publicar: Ejecuta la acción Docker Build Push que construirá la imagen desde el directorio actual hasta el contexto y la enviará a username/repository: latest.

Confirma el archivo de flujo de trabajo en tu repositorio. Con un simple empuje, el flujo de trabajo se activará para crear la imagen e insertarla en su registro especificado.

¿Qué es IronSecureDoc?

IronSecureDoces un producto recientemente desarrollado por Iron Software diseñado específicamente para asegurar documentos digitales, principalmente PDF, a través de un cifrado y controles bastante robustos. Esto permitirá aún más a una organización instalar protocolos de encriptación avanzados como AES-256, de modo que dicha información sensible no pueda ser vista sin permiso autorizado. Eso significa que el documento mencionado solo puede ser abierto por el usuario autorizado porque la impresión, edición y copia del mismo tienen restricciones junto con permisos personalizados. Además, la protección con contraseña y las firmas digitales mejoran la seguridad y la integridad en los documentos y el uso de marcas de agua.

Acción de Construcción y Push de Docker (Cómo Funciona para Desarrolladores): Figura 2 - IronSecureDoc: El Servidor de Seguridad y Cumplimiento de PDF

IronSecureDoc es amigable para desarrolladores y puede alojar cómodamente aplicaciones a través de Docker u otros entornos de programación, por lo que debería poder adaptarse a muchos flujos de trabajo empresariales. Por ejemplo, en los sectores de salud, financiero y legal, la confidencialidad de los documentos lo significa todo. IronSecureDoc combina las funciones de encriptación y control de documentos dentro de una organización con la garantía de custodia que permite el cumplimiento, así como el intercambio fácil y seguro con un socio o cliente externo.

Cómo funciona IronSecureDoc

IronSecureDoc se distribuye como un contenedor Docker y ofrece acceso a las funcionalidades de compilación a través de endpoints de API, lo que lo mantendrá escalable y uniforme. Los desarrolladores extraen una imagen Docker preconstruida de IronSecureDoc desde un registro de contenedores e incluyen esta en sus aplicaciones.

Flujo de Documentos con IronSecureDoc

  • Cree y envíe el contenedor de IronSecureDoc utilizando Docker Build Push Action.
  • Despliegue del mismo contenedor en una plataforma en la nube como AWS ECS o Kubernetes.
  • Integra tu aplicación para comunicarse con IronSecureDoc para cualquier operación de documentos.

Instalar y ejecutar IronSecureDoc

Para extraer la imagen de Docker de IronSecureDoc del repositorio de GitHub que se indica a continuación, en el símbolo del sistema o en una ventana de terminal abierta, ejecute el siguiente comando.

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
VB   C#

Acción de Construcción y Empuje de Docker (Cómo Funciona para Desarrolladores): Figura 3 - Extraer Imagen de Docker

Después de extraer una imagen del contenedor de Docker, tenemos otro comando para iniciar IronSecureDoc, un contenedor operativo.

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

El comando de ejecución de Docker mencionado anteriormente creará una instancia de contenedor de IronSecureDoc.

Uso de IronSecureDoc

La API REST de IronSecureDoc se ha discutido en otros lugares, pero básicamente permite al usuario redactar, certificar y cifrar documentos de inmediato tras la instalación y ejecución de Docker. Aquí está elenlacea la documentación.

Action Docker Build Push (Cómo Funciona para Desarrolladores): Figura 4 - API REST

También podríamos cifrar un documento enviando una solicitud a la API de IronSecureDoc de esta manera:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
VB   C#

Esto redirigirá el documento automáticamente a IronSecureDoc, donde se cifrará correctamente.

Conclusión

Todo comienza con Docker Build Push Action e IronSecureDoc. Fusionan dos herramientas muy poderosas que desbloquean la capacidad de contenerizar flujos de trabajo con un desarrollo automatizado y escalable, siendo seguro. Docker Build Push Action se encarga de la construcción y despliegue automatizados en el proceso de desarrollo de imágenes de contenedores, y IronSecureDoc maneja una robusta seguridad de documentos dentro de esos contenedores. Todo se reduce a canales optimizados para desarrolladores y un rendimiento confiable a través de los entornos. Ya sea que estés gestionando el despliegue de aplicaciones o asegurando documentos sensibles, estas herramientas en tu flujo de trabajo te van a acercar al desarrollo de software moderno y eficiente.

IronSecureDoc: donde se pueden añadir características de seguridad específicas para documentos, incluyendo cifrado de archivos, controles de acceso y autenticación de la autenticidad del documento mediante firmas digitales. Juntos, los certificados Docker e IronSecureDoc proporcionan seguridad de ciclo completo, protegiendo todo, desde la infraestructura hasta los datos sensibles almacenados. Para obtener más información sobre la licencia de IronSecureDoc, visite el página de licencias. Para obtener información sobre muchos de los productos de Iron Software, siga este enlace de la suite de biblioteca.

< ANTERIOR
Coolify Docker Compose (Cómo funciona para desarrolladores)
SIGUIENTE >
Cómo asegurar la API de PDF en Docker usando C#