Add Dofckerfile sveltekit node.md
This commit is contained in:
		
						commit
						584049dd9d
					
				
							
								
								
									
										32
									
								
								Dofckerfile sveltekit node.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								Dofckerfile sveltekit node.md
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
This Dockerfile maximizes layer caching through `pnpm fetch` and multi-step dependencies installation.
 | 
			
		||||
 | 
			
		||||
See https://pnpm.io/docker#example-3-build-on-cicd
 | 
			
		||||
 | 
			
		||||
```dockerfile
 | 
			
		||||
FROM node:22-alpine AS base
 | 
			
		||||
ENV PNPM_HOME="/pnpm"
 | 
			
		||||
ENV PATH="$PNPM_HOME:$PATH"
 | 
			
		||||
RUN corepack enable
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
# Fetch dependencies
 | 
			
		||||
FROM base AS install
 | 
			
		||||
COPY pnpm-lock.yaml ./
 | 
			
		||||
RUN pnpm fetch
 | 
			
		||||
 | 
			
		||||
COPY . .
 | 
			
		||||
# Install production dependencies
 | 
			
		||||
RUN pnpm install -r --offline --prod --frozen-lockfile
 | 
			
		||||
 | 
			
		||||
# Install dev dependencies (needed for the build step)
 | 
			
		||||
RUN pnpm install -r --offline --frozen-lockfile
 | 
			
		||||
 | 
			
		||||
# Build
 | 
			
		||||
ENV NODE_ENV=production
 | 
			
		||||
RUN pnpm build
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ["node", "build"]
 | 
			
		||||
EXPOSE 3000
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You can safely clean with `docker builder prune --f` after that. It won't touch the cache.
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user