【问题标题】:Docker image build "Access is denied” error on Windows 10Windows 10 上的 Docker 映像构建“访问被拒绝”错误
【发布时间】:2021-11-20 06:47:02
【问题描述】:

我正在尝试在 Windows 10 上使用 Firebase 和 React 为应用程序构建节点 docker 映像,但它给了我以下错误:

> docker build -t projectName .
[+] Building 15.5s (6/8)
 => [internal] load build definition from Dockerfile                                                                                                            0.0s 
 => => transferring dockerfile: 31B                                                                                                                             0.0s 
 => [internal] load .dockerignore                                                                                                                               0.0s 
 => => transferring context: 2B                                                                                                                                 0.0s 
 => [internal] load metadata for docker.io/library/node:latest                                                                                                 11.0s 
 => [auth] library/node:pull token for registry-1.docker.io                                                                                                     0.0s 
 => ERROR [internal] load build context                                                                                                                         4.3s 
 => => transferring context: 102.71MB                                                                                                                           4.3s 
 => CACHED [1/3] FROM docker.io/library/node:latest@sha256:ca6daf1543242acb0ca59ff425509eab7defb9452f6ae07c156893db06c7a9a4                                     0.0s 
------
 > [internal] load build context:
------
error from sender: open functions\node_modules\google-gax\protos\google\iam\v1\logging: Access is denied.

Dockerfile:

FROM node:latest
COPY . .
RUN npm install
CMD npm run start

我尝试了不同的节点版本,拉取图像然后再次构建它,但它似乎无法修复错误。 这是我第一次使用 docker(除了入门教程,它有效),所以如果有什么我需要添加的,请告诉我!有什么想法吗?

【问题讨论】:

  • 该错误表明将构建上下文(当前目录)中的文件发送到构建守护程序的客户端(docker CLI)没有读取functions\node_modules\google-gax\protos\google\iam\v1\logging的访问/权限。检查运行 CLI 的用户是否有权访问该目录中的文件。
  • 是的,由于某些 OneDrive 配对问题,文件已损坏且无法访问,感谢您引导我朝着正确的方向前进!

标签: node.js firebase docker


【解决方案1】:

正如theJeztah 所指出的,构建守护进程无法访问functions\node_modules\google-gax\protos\google\iam\v1\logging

如果您的文件路径太长,也会发生这种情况。就我而言,我通过将文件夹移动到路径较短的目录来解决它。

This answer 提供了一个 powershell 命令来查找长路径: Get-ChildItem -Path $dir -Recurse -Directory | % { $_.FullName } | Sort-Object { $_.Length } -Descending | Select -first 5

【讨论】:

  • 哇,这正是我的问题。我的路径太长了,只有几个字符。我重命名了我的两个文件夹并将它们移动到根目录,然后一切正常。我希望他们对此有更好的错误信息。我花了很长时间研究 Windows 权限。
猜你喜欢
  • 1970-01-01
  • 2017-02-25
  • 2020-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
  • 1970-01-01
  • 2022-01-23
相关资源
最近更新 更多