如何在使用docker-compose扩展服务时在卷path中指定迭代器?
背景:我使用docker-compose为了将一个tomcat服务放入一个docker swarm集群,但是我现在正在努力处理日志目录,因为我想扩展这个服务,但是保留了这个服务的唯一性日志目录。
考虑(显然)编写的docker-compose,它只是启动tomcat并挂载一个日志文件系统来捕获日志。
version: '2' services: tomcat: image: "tomcat:latest" hostname: tomcat-example command: /start.sh volumes: - "/data/container/tomcat/logs:/opt/tomcat/logs,z"
版本
- docker1.11
- docker工人1.7.1
- API版本1.21
问题:我正在考虑如何将variables插入“卷”日志path,以便日志目录对于缩放服务的每个实例都是唯一的
说,
volumes: - "/data/container/tomcat/${container_name}/logs:/opt/tomcat/logs,z"
我看到基于项目名称(或目录我在)的容器名称是真正知道的,所以我可以使用这个?
例如,将项目名称设置为“tomcat”并运行docker-compose scale tomcat=2
我会看到以下容器。
- 主机名 / tomcat_1
- 主机名 / tomcat_2
那么有没有什么办法可以利用这个作为日志卷中的variables,欢迎其他的build议或方法。 我意识到,我可以只指定一个相对path,并让container_id照顾这个,但现在如果我将splunk或logstash连接到日志logging设备,我需要知道哪些是确实日志logging设备,而不是基础容器f /秒。 然而,理想情况下,我正在寻找一个特定的绝对path。
先谢谢了dockers! R.