Das Protokoll des Dienstes (verwaltet von Docker-Compose), der auf dem Docker-Container in AWS EC2 ausgeführt wird, wird in CloudWatch-Protokolle geworfen, und die Prozedur bis zur Echtzeitüberwachung mit VS-Code wird zusammengefasst.
Die Standardfunktion von Docker besteht darin, das Protokoll im Container in / var / lib / docker / container /
auszugeben. Daher ist es nicht erforderlich, Linux "logrotate" usw. zu verwenden.
Ein Beispiel für die Implementierung mit Docker-Compose ist wie folgt.
docker-compose.yml
version: "3"
services:
hello:
image: "busybox:latest"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Mit dem oben beschriebenen Docker-Protokolltreiber können Sie die Protokollausgabe in CloudWatch-Protokolle ändern. Ein Beispiel für die Implementierung mit Docker-Compose ist wie folgt.
docker-compose.yml
version: '3'
services:
app:
build:
context: .
dockerfile: prod/Dockerfile
restart: always
expose:
- 8000
environment:
- TZ=Asia/Tokyo
logging:
driver: awslogs
options:
awslogs-region: ap-northeast-1
awslogs-group: log-group-name
tag: "{{.ImageName}}.{{.Name}}.{{.FullID}}"
nginx:
build:
context: .
dockerfile: nginx/Dockerfile
restart: always
ports:
- 8080:80
depends_on:
- app
logging:
driver: awslogs
options:
awslogs-region: ap-northeast-1
awslogs-group: log-group-name
tag: "{{.ImageName}}.{{.Name}}.{{.FullID}}"
Beschreiben Sie in Docker-Compose die Protokolltreibereinstellungen für jeden Dienst. Schreiben Sie den in der Verwaltungskonsole erstellten Protokollgruppennamen in "awslogs-group".
Wenn Sie im Suchfenster der VS-Code-Erweiterung "aws" eingeben, wird das "AWS Toolkit" angezeigt (siehe Abbildung unten). Installieren Sie es. Befolgen Sie die Anweisungen, um die Region und den Zugriffsschlüssel festzulegen. Wenn Sie im obigen Bild die Registerkarte "Cloud Watch-Protokolle" öffnen, wird die Protokollgruppe angezeigt. Klicken Sie mit der rechten Maustaste und wählen Sie "Protokolldatenstrom anzeigen". Wenn Sie die Erweiterung Output Colorizer installieren, wird das Protokoll mit Markierungen angezeigt. Es wird daher empfohlen, es einzuschließen.