【问题标题】:Access filesystem from Node app in Docker从 Docker 中的 Node 应用程序访问文件系统
【发布时间】:2015-10-06 18:23:30
【问题描述】:

我在尝试访问 docker 容器内的文件系统时遇到了一些问题;我不断收到这个问题:

fs.access(path, fs.R_OK & fs.W_OK, function (err) {
       ^
TypeError: Object #<Object> has no method 'access'

我要做的是在文件系统中创建文件之前检查文件系统的访问权限。

路径和错误由以下代码生成:

var fs = require('fs');
var path = require('path');

var rootPath = path.dirname(require.main.filename);
fs.access(rootPath, fs.R_OK & fs.W_OK, callback);

我该如何解决这个问题?

【问题讨论】:

    标签: node.js docker filesystems


    【解决方案1】:

    运行:

    docker exec -it [name of container] bash
    

    然后:

    node --version
    

    并确保您正在运行的节点与 docker 之外的节点相同。就我而言

    RUN apt-get install -y nodejs
    

    我曾经在 docker 中安装节点,但 docker v0.10.25 不支持我使用的 fs 模块。

    我通过将以下两个命令添加到我的 Dockerfile 来修复它:

    RUN curl --silent --location https://deb.nodesource.com/setup_0.12 | sudo bash -
    RUN sudo apt-get install --yes nodejs
    

    注意: 我的修复是针对 ubuntu docker 图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-16
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 2019-09-20
      相关资源
      最近更新 更多