Uses multi-stage builds to create images

follows along here loosely:

https://docs.docker.com/develop/develop-images/multistage-build/
https://blog.alexellis.io/mutli-stage-docker-builds/
This commit is contained in:
sm
2018-04-17 16:52:21 -07:00
parent 805db63c76
commit 04e200eb54
3 changed files with 16 additions and 17 deletions
+10 -9
View File
@@ -1,19 +1,20 @@
GOFILES := $(shell find . -type f | grep go$$ )
build/lim: build ${GOFILES}
@docker build -t smcquay/lim:build . -f Dockerfile.build > /dev/null
@docker create --name ext smcquay/lim:build > /dev/null
@docker cp ext:/usr/local/bin/lim build/ > /dev/null
build/lim: build build/.docker-image ${GOFILES}
@echo "fetching binary from image"
@docker create --name ext smcquay/lim:latest > /dev/null
@docker cp ext:/bin/lim build/ > /dev/null
@docker rm -f ext > /dev/null
@docker image rm smcquay/lim:build > /dev/null
@touch build/lim
build/.docker-image: ${GOFILES}
@echo "building docker image"
@docker build --no-cache -t smcquay/lim:latest . > /dev/null
@touch build/.docker-image
build:
@mkdir build
.PHONY: docker-image
docker-image: build/lim
@docker build --no-cache -t smcquay/lim:latest . > /dev/null
.PHONY: clean
clean:
@rm -rf build