mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Improve Dockerfile
This commit makes several changes to the dockerfile: - Add go.mod and go.sum in a seperate stage, subsequently calling `go mod download` to make it cache dependencies and speed up builds - Use ubuntu:latest (28MB larger) instead of scratch, makes the image a lot easier to debug (e.g. it has a shell and a package manager) - Change ENTRYPOINT to CMD, this makes the behaviour of the image slightly different from a CLI perspective, but makes interacting with the image from code, docker-compose and kubernetes easier.
This commit is contained in:
		
							parent
							
								
									d86123195c
								
							
						
					
					
						commit
						a43bb1bb40
					
				
							
								
								
									
										15
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								Dockerfile
									
									
									
									
									
								
							| @ -1,12 +1,19 @@ | ||||
| FROM golang:latest AS build | ||||
| ENV GOPATH /go | ||||
| COPY . /go/src/headscale | ||||
| 
 | ||||
| COPY go.mod go.sum /go/src/headscale/ | ||||
| WORKDIR /go/src/headscale | ||||
| RUN go mod download | ||||
| 
 | ||||
| COPY . /go/src/headscale | ||||
| 
 | ||||
| RUN go install -a -ldflags="-extldflags=-static" -tags netgo,sqlite_omit_load_extension ./cmd/headscale | ||||
| RUN test -e /go/bin/headscale | ||||
| 
 | ||||
| FROM scratch | ||||
| COPY --from=build /go/bin/headscale /go/bin/headscale | ||||
| FROM ubuntu:latest | ||||
| 
 | ||||
| COPY --from=build /go/bin/headscale /usr/local/bin/headscale | ||||
| ENV TZ UTC | ||||
| 
 | ||||
| EXPOSE 8080/tcp | ||||
| ENTRYPOINT ["/go/bin/headscale"] | ||||
| CMD ["headscale"] | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user