在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