在Bluemix上 – 处理容器组实例的卷
当我创build一个容器组与2个所需的实例与命令包含卷规范如下:
> ... -v log_vol:/opt/ibm/logs --env > LOG_LOCATIONS=/opt/ibm/logs/messages.log,/opt/ibm/logs/debug.log,/opt/ibm/logs/trace.log > -e TRACE_LEVEL=*~info -e MAX_LOG_FILES=5 -e MAX_LOG_FILE_SIZE=20 ...
在这种情况下,组中的每个运行容器实例都将具有类似的目录/opt/ibm/logs/
来存储日志。
当单个容器实例中的应用程序生成日志时,日志数据挂载到名为log_vol
的共享卷时会log_vol
。 日志被replace每个新的条目。
- 有人可以build议我如何处理它?
- 有什么方法可以附加一个容量规格后创build容器实例吗?
在这种情况下,最好将卷看作与共享networking驱动器类似的东西,并将不同的容器运行在不同的主机上。 如果进程假定他们是写入文件的唯一一个,并且在每次写入时caching/覆盖,则这将是结果。
也许反而让容器/程序写入类似/opt/ibm/logs/messages.$HOSTNAME.log
东西,以便他们拥有自己的日志文件的假设是正确的? 或者类似的,让容器在启动时为自己创build/opt/ibm/logs/$HOSTNAME/
,然后在那里写入messages/debug/trace.log
?