Add dockerfile
This commit is contained in:
		
							parent
							
								
									b5ac02d8a4
								
							
						
					
					
						commit
						3e5fa5139d
					
				
							
								
								
									
										44
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | |||||||
|  | # Build container | ||||||
|  | FROM debian:bullseye-slim as builder | ||||||
|  | 
 | ||||||
|  | # Update package lists and install necessary packages in the build container | ||||||
|  | RUN apt-get update && \ | ||||||
|  |     apt-get install -y --no-install-recommends git build-essential ca-certificates && \ | ||||||
|  |     rm -rf /var/lib/apt/lists/* | ||||||
|  | 
 | ||||||
|  | # Clone the specific version of the pgvector repository | ||||||
|  | RUN git clone --branch v0.4.1 https://github.com/pgvector/pgvector.git /tmp/pgvector | ||||||
|  | 
 | ||||||
|  | # Build pgvector | ||||||
|  | RUN cd /tmp/pgvector && \ | ||||||
|  |     make | ||||||
|  | 
 | ||||||
|  | # Final base image | ||||||
|  | FROM bitnami/postgresql:16.0.0-debian-11-r3 | ||||||
|  | 
 | ||||||
|  | # Switch to root to install packages and make directories | ||||||
|  | USER 0 | ||||||
|  | 
 | ||||||
|  | # Ensure the package manager is functional and install build tools in the final image | ||||||
|  | RUN mkdir -p /var/lib/apt/lists/partial && \ | ||||||
|  |     apt-get clean && \ | ||||||
|  |     apt-get update && \ | ||||||
|  |     apt-get install -y --no-install-recommends make gcc libc6-dev ca-certificates && \ | ||||||
|  |     rm -rf /var/lib/apt/lists/* | ||||||
|  | 
 | ||||||
|  | # Copy the pgvector build from the builder stage | ||||||
|  | COPY --from=builder /tmp/pgvector /tmp/pgvector | ||||||
|  | 
 | ||||||
|  | # Install pgvector in the final image | ||||||
|  | RUN export PG_CONFIG=/opt/bitnami/postgresql/bin/pg_config && \ | ||||||
|  |     cd /tmp/pgvector && \ | ||||||
|  |     make install && \ | ||||||
|  |     make clean | ||||||
|  | 
 | ||||||
|  | # Cleanup the build tools to keep the image lean | ||||||
|  | RUN apt-get remove -y make gcc libc6-dev && \ | ||||||
|  |     apt-get autoremove -y && \ | ||||||
|  |     apt-get clean && \ | ||||||
|  |     rm -rf /var/lib/apt/lists/* | ||||||
|  | 
 | ||||||
|  | USER 1001 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user