Uso de la imagen Docker
La imagen no expone ningún puerto: no hay nada que mapear con -p. El
proceso principal del contenedor solo lo mantiene vivo para poder
ejecutarle comandos puntuales con docker exec.
docker run, con la imagen ya publicada
Corriendo directo la imagen publicada en GHCR, en segundo plano:
docker run -d --restart unless-stopped \
--name libredte-lib-core-console \
ghcr.io/libredte/libredte-lib-core-console:latest
docker exec libredte-lib-core-console bin/console list
docker exec libredte-lib-core-console bin/console help billing:identifier:caf_loader:load
echo '{"parameters": {"xml": "<caf>...</caf>"}}' \
| docker exec -i libredte-lib-core-console bin/console billing:identifier:caf_loader:load
-i en el exec es necesario solo cuando la entrada va por STDIN (como en
el echo de arriba); para un archivo como argumento no hace falta:
docker cp archivo.json libredte-lib-core-console:/tmp/archivo.json
docker exec libredte-lib-core-console bin/console billing:identifier:caf_loader:load /tmp/archivo.json
Para ver los logs o detenerlo:
docker logs -f libredte-lib-core-console
docker stop libredte-lib-core-console
Revisa Dispatcher y el
README de libredte-lib-core-console
para el detalle de la entrada (JSON/YAML/XML bajo "parameters"), la
respuesta ({"meta": ..., "data": ...}) y los exit codes.
Uso único, sin dejar nada corriendo
Sobreescribiendo el CMD de la imagen se evita levantar un contenedor
persistente cuando solo se necesita ejecutar un comando una vez:
echo '{"parameters": {"xml": "<caf>...</caf>"}}' \
| docker run --rm -i ghcr.io/libredte/libredte-lib-core-console:latest \
bin/console billing:identifier:caf_loader:load
docker compose
Clonando el repositorio, docker compose baja la imagen ya publicada (no
la reconstruye) mientras no le pidas --build:
git clone [email protected]:LibreDTE/libredte-lib-core-console.git
cd libredte-lib-core-console
docker compose up -d
docker compose exec libredte-lib-core-console bin/console list
docker compose down
Construir la imagen localmente
En vez de usar la publicada en GHCR:
docker build -t libredte-lib-core-console .