【问题标题】:Docker bench - How to persist logs or supply log file argumentDocker bench - 如何持久化日志或提供日志文件参数
【发布时间】:2019-06-06 05:32:54
【问题描述】:

我正在按照教程从 its GitHub page 运行 docker bench

我执行如下:

C:/ docker ps 
<lists running containers>
C:/ docker run -it --net host --pid host --userns host --cap-add audit_control -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST -v /etc:/etc -v /usr/bin/docker-containerd:/usr/bin/docker-containerd -v /usr/bin/docker-runc:/usr/bin/docker-runc -v /usr/lib/systemd:/usr/lib/systemd -v /var/lib:/var/lib -v /var/run/docker.sock:/var/run/docker.sock --label docker_bench_security docker/docker-bench-security

docker bench 命令运行良好,我在底部看到带有 PASS/WARN 和总检查的彩色输出。

问题是 docker bench 说“默认情况下,Docker Bench for Security 脚本将运行所有可用的 CIS 测试并在名为 docker-bench-security.sh.log 的当前目录中生成日志。 json 和 docker-bench-security.sh.log"

但是在我执行命令的根目录 (C:) 中,我看不到这两个文件。

我也尝试过运行上面相同的 docker bench 命令,但带有可选的日志参数

docker run docker/docker-bench-security..... -l logs.txt

但我没有看到任何文件被创建(如果我预先制作文件,它不会被填充)。

关于如何在文件中捕获 docker bench 输出的任何想法?

【问题讨论】:

    标签: docker


    【解决方案1】:

    文件很可能是在容器内创建的。

    如您所见,您可以使用-l path 选项设置其路径, 但是如果你想让文件出现在你需要挂载的主机上 该路径作为一个卷。

    换句话说,您需要运行以下命令:

    docker run (...) -v /path/to/my-logs:/tmp/my-logs docker-bench-security (...) -l /tmp/my-logs/log.txt

    --其中(...) 是您使用的现有参数。

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多