Docker makefile (#1553)

* makefile for docker deploys

* update docs for makefile
pull/1557/head
John Wesley 5 years ago committed by Jack Ivanov
parent 655729ef54
commit fe19859b00

@ -0,0 +1,39 @@
## docker-build: Build and tag a docker image
.PHONY: docker-build
IMAGE := trailofbits/algo
TAG := latest
DOCKERFILE := Dockerfile
CONFIGURATIONS := $(shell pwd)
docker-build:
docker build \
-t $(IMAGE):$(TAG) \
-f $(DOCKERFILE) \
.
## docker-deploy: Mount config directory and deploy Algo
.PHONY: docker-deploy
# '--rm' flag removes the container when finished.
docker-deploy:
docker run \
--cap-drop=all \
--rm \
-it \
-v $(CONFIGURATIONS):/data \
$(IMAGE):$(TAG)
## docker-clean: Remove images and containers.
.PHONY: docker-prune
docker-prune:
docker images \
$(IMAGE) |\
awk '{if (NR>1) print $$3}' |\
xargs docker rmi
## docker-all: Build, Deploy, Prune
.PHONY: docker-all
docker-all: docker-build docker-deploy docker-prune

@ -46,6 +46,13 @@ $ docker run --cap-drop=all -it \
trailofbits/algo:latest
```
## GNU Makefile for Docker
You can also build and deploy with a Makefile. This simplifies some of the command strings and opens the door for further user configuration.
The `Makefile` consists of three targets: `docker-build`, `docker-deploy`, and `docker-prune`.
`docker-all` will run thru all of them.
## Building Your Own Docker Image
You can use the Dockerfile provided in this repository as-is, or modify it to suit your needs. Further instructions on building an image can be found in the [Docker engine](https://docs.docker.com/engine/) documents.

Loading…
Cancel
Save