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.