Tengo una regla en mi Makefile. Dentro de esta regla, necesito manipular algunas cosas específicas de la ventana acoplable, por lo que necesito obtener la identificación del contenedor de forma portátil. Además, estoy usando Docker Compose. Esto es lo que tengo que no funciona.
a-rule: some deps $(shell uuid="$(docker-compose ps -q myService)" docker cp "$$uuid":/a/b/c .)No recibo errores ni resultados, pero no obtengo una ejecución exitosa.
Mi objetivo es obtener el uuid del contenedor en el que se está ejecutando myService y luego usar ese uuid para copiar un archivo del contenedor a mi docker host.
editar: lo siguiente funciona, pero todavía me pregunto si es posible hacer configuraciones de variables en línea
uuid=$(shell docker-compose ps -q myService) a-rule: some deps docker cp "$(uuid)":/a/b/c .Me encontré con el mismo problema y me di cuenta de que los archivos MAKE toman la salida de las variables de shell con el uso de $$ . Así que probé eso y esto debería funcionar para ti:
a-rule: some deps uuid=$$(docker-compose ps -q myService);\ docker cp "$$uuid":/a/b/c .Un poco tarde para la fiesta, pero espero que esto ayude a alguien.