【发布时间】:2017-08-30 06:55:56
【问题描述】:
我玩 dockers 已经有一段时间了,我在提取容器中运行的服务的日志文件目录时遇到了问题。
我的 Dockerfile 看起来像这样:
ENV HOME=/software/service
ENV LOGS=$HOME/logs
COPY Service.jar $HOME/Service.jar
WORKDIR HOME
CMD java -jar Service.jar
我为此创建了一个存根服务,他所做的只是在 LOGS 环境变量中创建日志文件名称 log.log 并每 2 秒写入一次。
我想要实现的是在我的 docker linux 主机中备份 log.log 文件。在阅读了多个选项后,我发现了 2 个流行的持久数据解决方案:
- 使用带有
docker run -v选项的卷 - 创建保存数据的数据容器
选项 2 在这里没有多大帮助,因为我想查看我的 linux 主机中的日志,所以我选择了选项 1。
选项 1 的问题是它使用 root 权限创建日志,这意味着我必须登录到 root 才能删除这些日志,这可能会导致问题,当不是每个人都应该拥有 root 用户并删除日志是经常发生的事情。
因此,我阅读了更多内容,并找到了许多解决此问题的“解决方法”,其中一个是将我的 /etc/group 和 /etc/passwd 文件安装在 docker 中并使用 -u 选项,其他类似。
我的主要问题是,是否有任何方便和标准的解决方案来解决这个问题,提取带有/不带有 -v 选项的日志文件,同时让整个组权限对 rwx 它。
谢谢!
【问题讨论】:
标签: docker