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。