Node.js 在NodeJS Docker容器中写入日志文件
我想将日志文件写入主机文件系统,这样即使Docker容器死亡,它也会被持久化 我需要在Docker yaml中装入卷吗Node.js 在NodeJS Docker容器中写入日志文件,node.js,docker,Node.js,Docker,我想将日志文件写入主机文件系统,这样即使Docker容器死亡,它也会被持久化 我需要在Docker yaml中装入卷吗 VOLUME /var/log/myApp 那我就这样引用坐骑吗 var stream = fs.createWriteStream(`/var/log/myApp/myLog.log`); stream.write('Hello World!'); 然后在容器外部,我可以转到/var/log/myApp/目录并查看我的日志 我试图找到一个这样的例子,但没有看到任何东西。在
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"
是的,这将允许存储在卷中的数据保持不变。设置容器时,只需使用
-v
参数:
-v ./path/to/local/directory:/var/log/myApp
第一个路径是卷在主机系统上可用的位置(开始的时间段表示它与运行docker命令的位置相关)。右侧的路径是容器中可用的路径
再次,在docker compose中:
volumes:
- "./path/to/local/directory:/var/log/myApp"
是的,这将允许存储在卷中的数据是持久的。+1如果需要-v vs--mount(互斥选项),您也可以获得不同的失败行为
-v
将在Docker主机上创建指定的文件夹(如果该文件夹不存在),而--mount
将在Docker主机上不存在卷时使Docker命令失败。谢谢,尝试此操作,我将返回并将其标记为answer。此答案非常有用。我还需要将其添加到Dockerfile中:运行mkdir/var/log/myApp+1如果需要-v vs--mount(互斥选项),您也可以获得不同的失败行为-v
将在Docker主机上创建指定的文件夹(如果该文件夹不存在),而--mount
将在Docker主机上不存在卷时使Docker命令失败。谢谢,尝试此操作,我将返回并将其标记为answer。此答案非常有用。我还需要将其添加到Dockerfile中:运行mkdir/var/log/myApp