Herramienta Docker
Javapackage: com.etendoerp.copilot.toolpack
Visión general
La DockerTool es una herramienta que gestiona contenedores Docker para ejecutar código Python o Bash. Permite a los usuarios ejecutar comandos aislados, copiar archivos en contenedores y limpiar los contenedores automáticamente tras un periodo de inactividad.
Info
Para incluir esta funcionalidad, debe estar instalado el Copilot Extensions Bundle. Para obtener instrucciones, visite el marketplace: Copilot Extensions Bundle. Para obtener detalles sobre versiones, compatibilidad con el core y nuevas funcionalidades, consulte Copilot Extensions - Notas de la versión.
Funcionalidad
Esta herramienta facilita la ejecución de código en entornos Docker aislados, dando soporte a flujos de trabajo de desarrollo, automatización y tareas del sistema. Las funcionalidades principales incluyen:
Parámetros
- Executor: El tipo de ejecutor para el código (
pythonobash). - Código: El código que se ejecutará dentro del contenedor.
- Archivos a copiar: Una lista opcional de rutas de archivo para copiar dentro del contenedor para su ejecución.
Flujo de ejecución
-
Creación del contenedor:
- Se crea un contenedor Docker si aún no existe.
- Los contenedores se nombran usando el formato
tempenv-copilot-{conversation_id}para trazabilidad.
-
Transferencia de archivos:
- Los archivos especificados en el parámetro
Archivos a copiarse suben al contenedor en las rutas indicadas.
- Los archivos especificados en el parámetro
-
Ejecución de comandos:
- La herramienta ejecuta el código Python o Bash especificado.
- La salida se captura y se devuelve al usuario.
-
Limpieza del contenedor:
- Los contenedores se eliminan automáticamente tras 1 hora de inactividad.
Ejemplo de uso
- Entrada de ejemplo
- Salida de ejemplo
{
"message": "PING google.com (172.217.12.206): 56 data bytes\n64 bytes from 172.217.12.206: icmp_seq=0 ttl=115 time=12.5 ms\n64 bytes from 172.217.12.206: icmp_seq=1 ttl=115 time=12.3 ms\n64 bytes from 172.217.12.206: icmp_seq=2 ttl=115 time=12.4 ms\n64 bytes from 172.217.12.206: icmp_seq=3 ttl=115 time=12.6 ms\n\n--- google.com ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 12.3/12.5/12.6/0.1 ms"
}
Info
Esta herramienta utiliza la imagen Docker oficial Python 3.10-slim para la ejecución y puede ejecutar tanto comandos Python como Bash.
This work is licensed under CC BY-SA 2.5 ES by Futit Services S.L.