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

最佳答案

我已经检查了对接。它没有/ logs目录。似乎它使用/ var / logs进行日志输出。

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

否则,是的,这将是一个问题,因为该卷将以上述名称安装,并且当前的容器进程也将记录到该文件夹​​中。不好。
  • 使用fluentd之类的日志记录容器。在此tutorial中,它还提供了对S3存储桶(如对接)的写入。教程可以创建者here
  • 调整容器,例如带有用于记录日志或将日志中继到其他卷的符号链接(symbolic link)。
  • 不是通过容器而是通过本地docker访问日志,然后将其自己复制到S3或在本地安装的日志文件上运行对接。
    $ docker logs container/name > logfile.log
    $ docker run --rm \
      --env-file env.txt \
      -v $(pwd)/logfile.log:/customlogs/logfile.txt \
      --name dockup borja/dockup
    

  • 关于docker - Docker卷冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31318395/

    10-12 23:03