Le journal du service (géré par docker-compose) s'exécutant sur le conteneur Docker dans AWS EC2 est renvoyé vers CloudWatch Logs et la procédure jusqu'à la surveillance en temps réel avec VS Code est résumée.
--À propos du pilote de journal de Docker
La fonction standard de Docker est de sortir le journal dans le conteneur dans / var / lib / docker / containers /. Par conséquent, il n'est pas nécessaire d'utiliser Linux logrotate etc.
Un exemple d'implémentation avec docker-compose est le suivant.
docker-compose.yml
version: "3"
services:
hello:
image: "busybox:latest"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Vous pouvez utiliser le pilote de journal Docker décrit ci-dessus pour changer la destination de sortie du journal en CloudWatch Logs. Un exemple d'implémentation avec docker-compose est le suivant.
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}}"
Dans docker-compose, décrivez les paramètres du pilote de journal pour chaque service. Écrivez le nom du groupe de journaux créé dans la console de gestion dans ʻawslogs-group`.
Si vous saisissez ʻaws dans la fenêtre de recherche de l'extension VS Code, ʻAWS Toolkit comme indiqué dans l'image ci-dessous s'affichera.
Suivez les instructions pour définir la région et la clé d'accès.
Lorsque vous ouvrez l'onglet Cloud Watch Logs dans l'image ci-dessus, le groupe de journaux s'affiche. Cliquez avec le bouton droit de la souris et sélectionnez afficher le flux de journaux.
Si vous installez l'extension Output Colorizer, vous pouvez voir le journal avec des surbrillances, il est donc recommandé de l'inclure.