我试图在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.
停靠文件:
FROM node:latest
COPY . .
RUN npm install
CMD npm run start
我已经尝试了不同的节点版本,拉取镜像,然后再次构建,但似乎没有修复错误。这是我第一次使用docker(除了入门教程,它起作用了),所以如果有什么需要添加的,请告诉我!有什么想法吗?
3条答案
按热度按时间deyfvvtc1#
正如Jeztah所指出的,build-daemon不能访问
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
to94eoyn2#
我碰巧遇到了这个错误,我刚刚将Docker更新到最新版本并解决了这个问题。
plicqrtu3#
如果错误中指向的文件属于虚拟环境,则尝试添加.dockerignore文件并添加虚拟环境文件夹,该文件夹将被忽略,您应该能够在这些步骤之后构建映像