我在docker-compose.yml文件中有以下内容:
web:
image: my_web
build:
context: ./
dockerfile: web.docker
container_name: my_web
networks:
- front
ports:
- "80:8080"
volumes:
- wwwlogs:/var/logs/www
env_file:
- ${SERVICE_ENVIRONMENT}.env
links:
- revproxy
logging:
driver: awslogs
options:
awslogs-group: my-web-group
awslogs-region: us-east-1
awslogs-stream-prefix: my-web
这在生产环境中很好用,可以按预期将所有内容发送到CloudWatch。然而,我不清楚当我想要在本地使用相同的docker文件(不发送到AWS,只记录到STDOUT/STDERR),以及在staging环境中(我想将其发送到不同的awslogs组/-prefix)时,它应该如何工作。
有什么想法吗?总的来说,我不喜欢为每个环境单独创建docker文件-重复的代码条目会增加某些东西被遗漏或无法正确维护的可能性。但是Docker似乎有限的能力来有条件地提供东西。