node.js - 本地运行的节点可以需要来自 docker 容器内部的文件吗?
问题描述
我认为标题确实说明了一切,但只是为了澄清,说我在我的 macbook 上运行节点,就像这样:
node file1.js
//file1.js
require("some/secret/path/to/a/file/in/a/docker/container")
那可能吗?
如果是这样,我很想知道那条秘密路径可能是什么。谢谢!
解决方案
我知道没有绝对路径可以访问您的容器,但是您有一些选择:
您可以使用绑定的卷运行容器,以获取对共享文件夹的访问权限。
例如,在您的主机中,您可以创建一个文件夹:
mkdir /home/user/shared_folder
然后,运行绑定该文件夹的容器:
docker run -v /home/user/shared_folder:/some_path/in/your/container some_image
每当您的容器修改此文件夹、添加某些内容、删除某些内容时,您的主机也将能够看到这些更改。
您的另一个选择是使用 docker cp 并将所需的文件从容器复制到主机。
您可以使用 child_process 来执行此操作。
var exec = require('child_process').exec;
exec("docker cp container_id:/some_text host_path")
推荐阅读
- android - 仅创建一次时,如何将 RxJava Flowable 与函数一起使用
- python - 如何在odoo中的many2one字段中显示字符'-'之后的文本
- python - 在 tableau 中创建从现有数据源中派生的新列
- react-native - 在 react-native-reanimated 2.0 中访问 SharedValue 的性能问题
- javascript - v-bind:class 和 cookie 的意外行为(Vue js)
- android - 如何通过单击我的应用程序中的按钮来访问管理键盘和设置键盘布局
- angular - IONIC DEEPLINKS BUGS:无法重定向到深度链接
- javascript - 如何使用 ResizeObserver 检测窗口调整大小事件
- javascript - Node.js 中的 Jest 模拟事件发射器 vanilla JS
- python - Python解释器中的海象运算符