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