首页 > 解决方案 > 在 NodeJS Docker 容器中写入日志文件

问题描述

我想将日志文件写入主机文件系统,因此即使 Docker 容器死了,它也会被持久化。

我需要在我的 Docker yaml 中挂载一个卷吗?

VOLUME /var/log/myApp

那么我只是像这样引用安装吗?

var stream = fs.createWriteStream(`/var/log/myApp/myLog.log`);
stream.write('Hello World!');

然后在我的容器之外,我可以转到 /var/log/myApp/ 目录并查看我的日志。

我试图找到一个例子,但没有看到任何东西。

标签: node.jsdocker

解决方案


设置容器时,只需使用以下-v参数:

-v ./path/to/local/directory:/var/log/myApp

第一个路径是卷在主机系统上可用的位置(开头的句点表示它与您运行 docker 命令的位置相关)。右侧的路径是它在容器中可用的位置。

再一次,在 docker-compose 中:

    volumes:
        - "./path/to/local/directory:/var/log/myApp"

是的,这将允许存储在卷中的数据是持久的。


推荐阅读