node.js - 在 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/ 目录并查看我的日志。
我试图找到一个例子,但没有看到任何东西。
解决方案
设置容器时,只需使用以下-v
参数:
-v ./path/to/local/directory:/var/log/myApp
第一个路径是卷在主机系统上可用的位置(开头的句点表示它与您运行 docker 命令的位置相关)。右侧的路径是它在容器中可用的位置。
再一次,在 docker-compose 中:
volumes:
- "./path/to/local/directory:/var/log/myApp"
是的,这将允许存储在卷中的数据是持久的。
推荐阅读
- javascript - 将 mapbox-gl 与 requireJS 一起使用:self.XMLHttpRequest 不是构造函数
- python - 迭代时获得大量重复值
- swift - 声明一个只能包含 ASCII 字符的 Swift Character 类型?
- ruby-on-rails - 如何使用 ActiveRecord 重写此 sql?
- go - 如何修复工作池死锁
- javascript - 仅在选中复选框时发送 POST 请求
- php - 在 Woocommerce 中显示当前子类别的子类别
- swift - 如何在 iOS swift 4 中访问 Magento Rest API
- laravel - laravel 通知未定义索引:user_id
- migration - Keycloak 迁移散列密码