Skip to content

Cache writing and permissions in a Lambda Docker container #25596

@soundstep

Description

@soundstep

Version: Deno 1.45.2

I'm applying this guide: https://docs.deno.com/runtime/tutorials/aws_lambda/

I've got some permissions issue in the container. I can see what kind of problem this is, but what would be an elegant way of solving? A chmod? Using DENO_DIR?

The AWS Lambda log:

�[0m�[32mDownload�[0m https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.0.tgz
�[0m�[32mDownload�[0m https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-8.3.0.tgz
�[0m�[32mDownload�[0m https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz
�[0m�[32mDownload�[0m https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz
�[0m�[1m�[31merror�[0m: JSR package manifest for '@hono/hono' failed to load. Read-only file system (os error 30) (for '/home/sbx_user1051/.cache/deno/deps/https/jsr.io')
Check the permission of the directory.
at �[0m�[36mfile:///var/task/lib/fe-core-merge-queue-project/server/middleware.ts�[0m:�[0m�[33m2�[0m:�[0m�[33m31�[0m
EXTENSION	Name: lambda-adapter	State: Ready	Events: []
INIT_REPORT Init Duration: 2155.65 ms	Phase: invoke	Status: error	Error Type: Runtime.ExitError
START RequestId: 5768476b-cd75-437c-9563-6cbfb9ae2fc4 Version: $LATEST
RequestId: 5768476b-cd75-437c-9563-6cbfb9ae2fc4 Error: Runtime exited with error: exit status 1
Runtime.ExitError
END RequestId: 5768476b-cd75-437c-9563-6cbfb9ae2fc4
REPORT RequestId: 5768476b-cd75-437c-9563-6cbfb9ae2fc4	Duration: 2196.08 ms	Billed Duration: 2197 ms	Memory Size: 128 MB	Max Memory Used: 18 MB

Dockerfile:

# Set up the base image
FROM public.ecr.aws/awsguru/aws-lambda-adapter:0.8.4 AS aws-lambda-adapter
FROM denoland/deno:bin-1.45.2 AS deno_bin
FROM debian:bookworm-20230703-slim AS deno_runtime
COPY --from=aws-lambda-adapter /lambda-adapter /opt/extensions/lambda-adapter
COPY --from=deno_bin /deno /usr/local/bin/deno
ENV PORT=8000
EXPOSE 8000

# Copy the function code
WORKDIR "/var/task"
COPY . /var/task

# Warmup caches
RUN timeout 10s deno run -A main.ts || [ $? -eq 124 ] || exit 1

CMD ["deno", "run", "-A", "main.ts"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    questiona question about the use of Deno

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions