你好社区!
我遇到了以下问题,但在文档中找不到任何有用的建议:
我有两个docker-compose.yml
文件。让我们假设这种情况:
文件1:
docker-compose-application.yml
文件2:
docker-compose-elasticstack.yml
两个文件都可以独立启动并且可以正常工作。通常我只启动应用程序。仅在某些特殊情况下,弹性堆栈也是必需的。
问题:
如何为这两个文件之间的日志配置可选的文件共享,可以使用FileBeat访问?因此,如有必要,我不仅要启动应用程序,还要启动两个文件。
目标:1
docker-compose -f docker-compose-application.yml up
目标:2
docker-compose -f docker-compose-application.yml -f docker-compose-elasticstack.yml up
非常感谢!
答案 0 :(得分:1)
您可以使用外部命名卷:
docker-compose-application.yml:
services:
app:
image: app-image
volumes:
- logs:/path/in/container
volumes:
logs:
external: true
docker-compose-elasticstack.yml
services:
filebeat:
image: filebeat-image
volumes:
- logs:/path/in/container
... other services
volumes:
logs:
external: true
请注意,docker-compose up
之前必须存在该命名卷。
您可以通过docker volume create logs
创建它。
查看更多信息here。