/
Makefile.example
47 lines (40 loc) · 1.3 KB
/
Makefile.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Port on host to listen on
PORT=8080
# App name, used in docker image name
APP=laravel
# Used in docker image name <VENDOR>>/<APP>-prod
VENDOR=acme
# User in Dockerfile
MAINTAINER=Foo <foo@acme.tld>
# Name for the `make run` docker container
CONTAINER=$(VENDOR)-$(APP)-web
# your UID on the host, nginx/hhvm will run as this UID so they can read/write files.
UID=1000
dev: prod
cp Dockerfile.dev Dockerfile
make _rewrite
[[ $$(docker images | grep $(VENDOR)/$(APP)-dev | wc -l) -eq 1 ]] || docker build -t $(VENDOR)/$(APP)-dev .
rm Dockerfile
prod:
cp Dockerfile.prod Dockerfile
make _rewrite
[[ $$(docker images | grep $(VENDOR)/$(APP)-prod | wc -l) -eq 1 ]] || docker build -t $(VENDOR)/$(APP)-prod .
rm Dockerfile
_rewrite:
sed -i 's/__MAINTAINER__/$(MAINTAINER)/g' Dockerfile
sed -i 's/__VENDOR__/$(VENDOR)/g' Dockerfile
sed -i 's/__APP__/$(APP)/g' Dockerfile
sed -i 's/__UID__/$(UID)/g' Dockerfile
run: dev
mkdir -p app/storage/logs/dev/{nginx,hhvm}
docker run --detach \
--publish $(PORT):80 \
--volume `pwd`:/var/www/ \
--volume `pwd`/app/storage/logs/dev:/var/log \
--name=$(CONTAINER) \
$(VENDOR)/$(APP)-dev
clean:
docker rm -f $(CONTAINER) || true
docker rmi $(VENDOR)/$(APP)-dev || true
docker rmi $(VENDOR)/$(APP)-prod || true
.PHONY: _rewrite prod dev run clean