Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在NodeJS Docker容器中写入日志文件_Node.js_Docker - Fatal编程技术网

Node.js 在NodeJS Docker容器中写入日志文件

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/目录并查看我的日志 我试图找到一个这样的例子,但没有看到任何东西。在

我想将日志文件写入主机文件系统,这样即使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"

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

设置容器时,只需使用
-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