Azure / azure-functions-docker

This repo contains the base Docker images for working with azure functions
MIT License
255 stars 116 forks source link

node:4-node18 fail to run with fake error #850

Open khmyznikov opened 1 year ago

khmyznikov commented 1 year ago

From about January 30 image mcr.microsoft.com/azure-functions/node:4-node18 starts failing to run after extraction with fake error about access denied, the same error for any docker registry - azure or dockerhub doesn't matter.

If I change nothing but node:4-node18 to node:4-node16 everything starts working again.

tonynator commented 1 year ago

I encountered a very similar error message today. I have Node containers. I wanted to upgrade my containers from node:16-alpine to node:18-alpine, but I received the same error message on node:18-alpine. On node:16-alpine works well.

App service logs:

ERROR - failed to register layer: Error processing tar file(exit status 1): Container ID 718322462 cannot be mapped to a host IDErr: 0, Message: failed to register layer: Error processing tar file(exit status 1): Container ID 718322462 cannot be mapped to a host ID

khmyznikov commented 1 year ago

It's weird because I'm sure it was working just fine few weeks ago, very annoyng problem, spent a lot of time to workaround this but I want native Fetch API so, don't like node downgrading solution 👎

fgbaezp commented 1 year ago

I encountered a very similar error message today. I have Node containers. I wanted to upgrade my containers from node:16-alpine to node:18-alpine, but I received the same error message on node:18-alpine. On node:16-alpine works well.

App service logs:

ERROR - failed to register layer: Error processing tar file(exit status 1): Container ID 718322462 cannot be mapped to a host IDErr: 0, Message: failed to register layer: Error processing tar file(exit status 1): Container ID 718322462 cannot be mapped to a host ID

Hey are you using alpine based images? Would you mind sharing how did you manage that? I thought Microsoft stopped releasing alpine-based images from version 3 :/

tonynator commented 1 year ago

@fgbaezp

The npm fix has been merged, but they haven't released yet.

If you use node:18-alpine that could be a temporary workaround for you:

FROM node:18-alpine
....
....
....
RUN npm install  \
 && chown -R $(id -u):$(id -g) node_modules
 ....
 ....
 ....

That will solve your issue.

Jonatan-V commented 1 year ago

I get the same problem on node:4-node18-appservice (however node:4-node16-appservice works). I dont think its a fake error but rather related to a bug/breaking change in npm. Its already fixed but the version in the MS node18 images are probably not up to speed yet. You can read more about it here: https://azureossd.github.io/2022/06/30/Docker-User-Namespace-remapping-issues/ https://github.com/npm/pacote/pull/261 https://github.com/projectkudu/kudu/issues/2512

CooperLink commented 1 year ago

Thank you for filing this issue. I am forwarding this thread to the Azure Functions node team to make sure that they are aware of it. Hopefully we can provide a timeline for resolving this.

ejizba commented 1 year ago

Hi, I'm on the Azure Functions node team. It sounds like this was fixed in npm v9.5.1, but I'm not seeing a release of Node 18 using that npm version by default yet: https://nodejs.org/en/download/releases. Looks like the latest Node 18 release is from March 5th using npm v9.5.0. As soon as a that is out, the Azure Functions images should pick it up usually within a couple weeks