Tengo algunos contenedores docker que se ejecutan con docker-compose en una instancia de AWS EC2. Estoy buscando que los registros se envíen a AWS CloudWatch. También tenía problemas para obtener los registros de los contenedores acoplables a AWS CloudWatch desde mi Mac con Sierra, por lo que me pasé a las instancias EC2 que ejecutan Amazon AMI.
Mi archivo docker-compose:
version: '2' services: scraper: build: ./Scraper/ logging: driver: "awslogs" options: awslogs-region: "eu-west-1" awslogs-group: "permission-logs" awslogs-stream: "stream" volumes: - ./Scraper/spiders:/spidersCuando ejecuto docker-compose up me sale el siguiente error:
raspador_1 | ADVERTENCIA: no hay registros disponibles con el controlador de registros 'awslogs'
pero el contenedor se está ejecutando. No aparecen registros en la transmisión de AWS CloudWatch. He asignado un rol de IAM al contenedor EC2 en el que se ejecutan los contenedores docker.
Estoy completamente perdido ahora en cuanto a lo que debería estar haciendo y agradecería cualquier consejo.
El awslogs funciona sin usar ECS.
debe configurar las credenciales de AWS (el usuario debe tener roles de IAM apropiados [logs de cloudwatch]).
Usé este tutorial, funcionó para mí: https://wdullaer.com/blog/2016/02/28/pass-credentials-to-the-awslogs-docker-logging-driver-on-ubuntu/
Recibí el mismo error, pero cuando revisé los registros de CloudWatch, pude ver los registros en CloudWatch. ¿Comprobó que si tiene el grupo de registros creado en cloudwatch? Docker no admite el registro de la consola cuando usamos los controladores de registro personalizados.
La sección sobre limitaciones aquí dice que el comando docker logs solo está disponible para los controladores json-file y journald, y eso es cierto para los controladores integrados.
Cuando trato de obtener registros de un controlador que no admite la lectura, nada se cuelga para mí, los registros de la ventana acoplable imprimen esto:
Error response from daemon: configured logging driver does not support reading