I have a small empty SvelteKit template project which runs well locally but when I try Dockerizing it fails.
Can anyone help me understand why isn’t the build found?
This is the Dockerfile:
FROM node:lts-slim AS deps
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN npx pnpm i --frozen-lockfile
FROM node:lts-slim AS builder
WORKDIR /app
COPY . .
COPY --from=deps /app/node_modules ./node_modules
RUN npx pnpm run build
FROM node:lts-slim AS runner
WORKDIR /app
ENV NODE_ENV production
RUN useradd -u 1001 -s /usr/sbin/nologin -m -d /home/sveltekit sveltekit
RUN groupadd nodejs && usermod -aG nodejs sveltekit
COPY --from=builder --chown=sveltekit:nodejs /app/build ./build
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json
USER sveltekit
EXPOSE 3000
CMD ["node", "./build"]
the is the package.json file:
{
"name": "sveltekit-docker",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"lint": "prettier --check . && eslint .",
"format": "prettier --write ."
},
"devDependencies": {
"@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/eslint": "^8.56.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.35.1",
"prettier": "^3.1.1",
"prettier-plugin-svelte": "^3.1.2",
"svelte": "^4.2.7",
"vite": "^5.0.3"
},
"type": "module"
}
and this is the (partially redacted eliminating first steps with no error) error trace:
bob ~/code/sveltekit_docker [main] $ docker build -t sd --no-cache .
[+] Building 8.9s (15/17) docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
... lines without errors omitted....
=> [deps 4/4] RUN npx pnpm i --frozen-lockfile 4.1s
=> [builder 4/5] COPY --from=deps /app/node_modules ./node_modules 0.3s
=> [builder 5/5] RUN npx pnpm run build 3.1s
=> ERROR [runner 5/7] COPY --from=builder --chown=sveltekit:nodejs /app/ 0.0s
------
[runner 5/7] COPY --from=builder --chown=sveltekit:nodejs /app/build ./build:
------
Dockerfile:18
--------------------
16 | RUN useradd -u 1001 -s /usr/sbin/nologin -m -d /home/sveltekit sveltekit
17 | RUN groupadd nodejs && usermod -aG nodejs sveltekit
18 | >>> COPY --from=builder --chown=sveltekit:nodejs /app/build ./build
19 | COPY --from=builder /app/node_modules ./node_modules
20 | COPY --from=builder /app/package.json ./package.json
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 7b0a430b-35d6-4fc8-a6dd-db95ac242422::eeh419kyu0c4wj7k9gabjqe4w: "/app/build": not found