Docker卷冲突

时间:2015-07-09 13:05:38

标签: docker

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

1 个答案:

答案 0 :(得分:2)

我检查过dockup。它没有/ logs目录。似乎它使用/ var / logs作为日志输出。

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

否则,是的,这将是一个问题,因为卷将以所提到的名称安装,并且当前容器进程也将记录到该文件夹​​。不好。

  • 使用像流利的日志容器。在这个tutorial中,它还提供了对像Dockup这样的S3存储桶的写入。教程可以是创始人here

  • 调整您的容器,例如使用符号链接将日志记录或中继到不同的卷。

  • 访问日志不是通过容器而是使用本机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中的备份路径。