Ejecutar Jitterbit App Builder en Docker
Introducción
Puedes ejecutar App Builder como un contenedor de Docker utilizando la imagen de Docker de Jitterbit App Builder y una licencia válida de App Builder.
La imagen de Docker de Jitterbit App Builder es compatible con estas bases de datos:
-
Ediciones Standard o Enterprise x64 de Microsoft SQL Server 2016 o posterior. Esto debe configurarse con la secuencia de ordenación
SQL_Latin1_General_CP1_CI_AS
y autenticación en modo mixto. -
MySQL 8.0 o posterior.
-
PostgreSQL 14 o posterior.
Importante
Aunque se debe ejecutar una instancia de App Builder y su base de datos por separado en hosts que cumplan con los requisitos del sistema de App Builder, por simplicidad, estas instrucciones utilizan el mismo host para ambos.
Requisitos previos
Debes tener lo siguiente:
-
Docker engine instalado y en funcionamiento.
-
Docker compose instalado.
-
Para el ejemplo de
docker run
, se requiere una base de datos existente. (Los ejemplos dedocker compose
y adicionales incluyen un servicio que ejecuta una base de datos de App Builder, por lo que no requieren una existente.)
Limitaciones
Las siguientes limitaciones se aplican a App Builder ejecutándose como un contenedor de Docker. (También se aplican a cualquier instalación basada en Linux.)
Soporte para Windows
Estas características de Windows no son compatibles:
- Autenticación de Active Directory
- Crystal Reports
- Suplantación del sistema de archivos
- Autenticación integrada de Windows (IWA)
- SAP ABAP
- Plugins de terceros
Límite de tamaño de carga de archivos
Las cargas de archivos están limitadas a 30,000,000 bytes (28.6 MB) por defecto. Esto es para ayudar a proteger contra ataques de Denegación de Servicio (DoS).
Para aumentar este límite, establece la variable de entorno Kestrel__Limits__MaxRequestBodySize
al tamaño máximo de archivo deseado en bytes.
Etiquetas soportadas
Puedes obtener imágenes de Docker utilizando las siguientes etiquetas:
Etiqueta | Versión |
---|---|
latest | Última compilación de la última versión 4.x |
4 | |
4.0 | Última compilación de una versión específica 4.x |
4.46 | |
4.46.12345 | Compilación específica de una versión específica 4.x |
Importante
Para mayor estabilidad, deberías usar etiquetas de versión específicas y fijar tu instancia de App Builder a esa compilación. Para elegir una, consulta las notas de la versión o la página de etiquetas de imágenes de Docker.
Iniciar una instancia de App Builder con docker run
Para iniciar una instancia de App Builder que se conecte a una base de datos existente que se ejecute en el mismo host, sigue estos pasos:
-
Crea un archivo
vinyl.env
que contenga las siguientes variables de entorno, con valores sustituidos de acuerdo con la tabla a continuación:ConnectionInfo__DatabaseType=<DB_TYPE> ConnectionInfo__HostName=<DB_HOSTNAME> ConnectionInfo__DatabaseName=<DB_NAME> ConnectionInfo__Port=<DB_PORT> ConnectionInfo__UserName=<DB_USERNAME> ConnectionInfo__Password=<DB_PASSWORD>
Valor Reemplazar con <DB_TYPE>
El tipo de tu base de datos, uno de los siguientes: SQLServer
,MySQL
oPostgreSql
.<DB_HOSTNAME>
El nombre de host o la dirección IP de tu servidor de base de datos. <DB_PORT>
(Opcional) El número de puerto en el que se ejecuta tu servicio de base de datos. Valores predeterminados: 1433
(SQL Server),3306
(MySQL),5432
(PostgreSQL).<DB_NAME>
(Opcional) El nombre de la base de datos de App Builder. Predeterminado: Vinyl
. Para bases de datos sensibles a mayúsculas como PostgreSQL y MySQL, se recomiendavinyl
para seguir las reglas de nombres de la base de datos.<DB_USERNAME>
El nombre de usuario de la base de datos de App Builder. <DB_PASSWORD>
La contraseña del usuario de la base de datos de App Builder. (Estas y otras variables de entorno se describen en Configurando App Builder al iniciar.)
Ejemplo para PostgreSQL:
ConnectionInfo__DatabaseType=PostgreSql ConnectionInfo__HostName=host.docker.internal ConnectionInfo__DatabaseName=vinyl ConnectionInfo__Port=5432 ConnectionInfo__UserName=postgres ConnectionInfo__Password=postgres
-
Inicia el contenedor de Docker:
docker run --publish "80:8080" --env-file vinyl.env jitterbit/app-builder:4.45
-
Ingresa
http://localhost
en la barra de direcciones de tu navegador y espera a que se cargue la página de inicio de sesión de App Builder: -
(Opcional) Usa tu navegador,
curl
, o una herramienta de prueba de API web para hacer una solicitudGET
en el punto de verificación de salud del contenedorhttp://localhost:80/ping
. La respuesta debería serApp Builder - OK - YYYY-mm-DDTHH:MM:SSZ
, con la fecha y hora expresadas en formato UTC ISO 8601. -
Inicia sesión con estas credenciales:
-
Nombre de usuario:
admin
-
Contraseña:
P@55w0rd
(La contraseña predeterminada del administrador de App Builder.)
-
-
En la página Contraseña Expirada, cambia la contraseña predeterminada, luego haz clic en la página Guardar Contraseña:
-
En la página Contraseña Cambiada, haz clic en el botón Continuar.
-
En la página Licencia Activa, haz clic en el botón Subir:
-
En la página Subida de Licencia, haz clic en Examinar para abrir el explorador de archivos de tu sistema. Busca y abre tu archivo de licencia de App Builder, luego haz clic en el botón Guardar:
-
En la página Subida de Licencia, haz clic en el botón Activar:
-
En la página Licencia Activa, haz clic en el botón Iniciar:
-
Se abre la página de bienvenida de App Builder:
Iniciar una instancia de App Builder y una base de datos con docker compose
Los siguientes ejemplos utilizan Docker Compose para iniciar una instancia de App Builder y una base de datos de Microsoft SQL Server.
App Builder con Microsoft SQL Server
Sigue estos pasos:
-
En un directorio vacío, crea un archivo
docker-compose.yml
que contenga lo siguiente:services: db: image: mcr.microsoft.com/mssql/server hostname: vinyldb environment: MSSQL_SA_PASSWORD: P@55w0rd ACCEPT_EULA: Y volumes: - ./db_data:/var/opt/mssql/data vinyl: depends_on: - db image: jitterbit/app-builder:4.0 ports: - 80:8080 volumes: - ./vinyl_data:/app/data - ./vinyl_logs:/app/logs - ./vinyl_keys:/app/keys environment: ConnectionInfo__DatabaseType: SQLServer ConnectionInfo__HostName: vinyldb ConnectionInfo__DatabaseName: vinyl ConnectionInfo__UserName: sa ConnectionInfo__Password: P@55w0rd volumes: db_data: vinyl_data: vinyl_logs: vinyl_keys:
-
Inicia los servicios:
docker compose up -d
-
Verifica los archivos de registro en
vinyl_logs
, montados en el directorio de registros de App Builder/app/logs
. (Los otros montajes son/app/keys
donde se almacenan las claves de cifrado, y/app/data
, el directorio de datos.) -
Continúa siguiendo los pasos 3 a 12 de la sección anterior.
App Builder con MySQL
Sigue los mismos pasos que en el ejemplo para Microsoft SQL Server, pero reemplaza el contenido del archivo docker-compose.yml
con lo siguiente:
services:
db:
image: mysql
hostname: vinyldb
environment:
MYSQL_ROOT_PASSWORD: P@55w0rd
volumes:
- db_data:/var/lib/mysql
vinyl:
depends_on:
- db
image: jitterbit/app-builder:4.0
ports:
- 80:8080
volumes:
- ./vinyl_data:/app/data
- ./vinyl_logs:/app/log
- ./vinyl_keys:/app/keys
environment:
ConnectionInfo__DatabaseType: MySQL
ConnectionInfo__HostName: vinyldb
ConnectionInfo__DatabaseName: vinyl
ConnectionInfo__UserName: root
ConnectionInfo__Password: P@55w0rd
volumes:
db_data:
vinyl_data:
vinyl_logs:
vinyl_keys:
App Builder con PostgreSQL
Sigue los mismos pasos que en el ejemplo para Microsoft SQL Server, pero reemplaza el contenido del archivo docker-compose.yml
con lo siguiente:
services:
db:
image: postgres
hostname: vinyldb
environment:
POSTGRES_PASSWORD: postgres
volumes:
- db_data: /var/lib/postgresql/data
vinyl:
depends_on:
- db
image: jitterbit/app-builder:4.0
ports:
- 80:8080
volumes:
- ./vinyl_data:/app/data
- ./vinyl_logs:/app/logs
- ./vinyl_keys:/app/keys
environment:
ConnectionInfo__DatabaseType: PostgreSql
ConnectionInfo__HostName: vinyldb
ConnectionInfo__DatabaseName: vinyl
ConnectionInfo__UserName: postgres
ConnectionInfo__Password: postgres
volumes:
db_data:
vinyl_data:
vinyl_logs:
vinyl_keys: