Docker卷的冲突

我有一个dockerized的Web应用程序,我正在HA设置中运行。 我有一个cron设置,每个午夜运行dockup来备份存储在其他容器上的重要信息。 现在我想从我的Web应用程序备份和汇总我的日志。 问题是,我怎么样? 如果我使用Dockerfile中的VOLUME键公开/logs到主机,会有冲突,因为在dockup容器上会有两个/logs目录?

我检查了dockup。 它没有/ logs目录。 看来它使用/ var / logs作为日志输出。

 $ docker run -it --name dockup borja/dockup bash 

否则,是的,这将是一个问题,因为卷将挂载在所提及的名称下,并且当前容器进程将login到该文件夹​​。 不好。

  • 使用像fluentd一样的日志容器。 在本教程中 ,它还提供了写入到像dockup这样的S3存储桶。 教程可以是这里的创始人。

  • 调整您的容器,例如使用符号链接将日志logging或转发到不同的卷。

  • 访问日志不是通过容器,而是本地docker,并将其自身复制到S3或在本地挂载的日志文件上运行dockup。

     $ docker logs container/name > logfile.log $ docker run --rm \ --env-file env.txt \ -v $(pwd)/logfile.log:/customlogs/logfile.txt \ --name dockup borja/dockup 

    现在,您可以将文件夹/ customlogs /作为env.txt中的备份path。