blob: 1f856b74f8d331cebb1e7626005c87f5e2a2193d [file] [log] [blame]
Zack Williams00c10122016-05-27 16:06:50 -07001# Docker container Makefile for XOS
2#
3# Targets:
4#
5# `base` - XOS prerequistie files, no XOS code, builds xosproject/xos-base
6# `build` - base + XOS code, git pulled in Dockerfile from main repo,
7# builds xosproject/xos
8# `custom` - base + XOS code, git pulled in Dockerfile from selectable repo,
9# builds xosproject/xos
10# `devel` - base + XOS code from local directory, builds xosproject/xos
11# `test` - xosproject/xos + nodejs testing frameworks, builds
12# xosproject/xos-test
13#
Tony Mack7c162e72015-10-30 15:22:20 +000014
Zack Williams00c10122016-05-27 16:06:50 -070015NO_DOCKER_CACHE ?= false
David K. Bainbridgefe8bfcd2015-12-03 22:12:06 -080016
Zack Williams3467ccb2016-05-27 23:31:22 -070017CONTAINER_NAME ?= xos-server
Zack Williams00c10122016-05-27 16:06:50 -070018IMAGE_NAME ?= xosproject/xos
Andy Bavierbeef3fb2016-01-06 16:40:00 -050019
Zack Williams00c10122016-05-27 16:06:50 -070020XOS_GIT_REPO ?= git://github.com/open-cloud/xos.git
21XOS_GIT_BRANCH ?= master
Tony Mackaeefc662015-10-30 18:08:47 +000022
Zack Williams00c10122016-05-27 16:06:50 -070023TOSCA_CONFIG_PATH ?= /opt/xos/configurations/opencloud/opencloud.yaml
Matteo Scandoloa6658422016-04-06 14:44:56 -070024
Zack Williams00c10122016-05-27 16:06:50 -070025base:
Zack Williamsd4fb2072016-05-31 10:19:53 -070026 sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \
Zack Williams00c10122016-05-27 16:06:50 -070027 -f Dockerfile.base -t xosproject/xos-base .
Tony Mackaeefc662015-10-30 18:08:47 +000028
Zack Williams00c10122016-05-27 16:06:50 -070029build:
30 sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \
31 -f Dockerfile -t ${IMAGE_NAME} .
Tony Mackaeefc662015-10-30 18:08:47 +000032
Zack Williams00c10122016-05-27 16:06:50 -070033custom:
34 docker build --no-cache=${NO_DOCKER_CACHE} --rm \
35 --build-arg XOS_GIT_REPO=${XOS_GIT_REPO} \
36 --build-arg XOS_GIT_BRANCH=${XOS_GIT_BRANCH} \
37 -f Dockerfile -t ${IMAGE_NAME} .
Tony Mackaeefc662015-10-30 18:08:47 +000038
Zack Williams00c10122016-05-27 16:06:50 -070039devel:
Zack Williamsd4fb2072016-05-31 10:19:53 -070040 sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \
Zack Williams3467ccb2016-05-27 23:31:22 -070041 -f Dockerfile.devel -t ${IMAGE_NAME} ../..
Zack Williams00c10122016-05-27 16:06:50 -070042
43test:
Zack Williamsd4fb2072016-05-31 10:19:53 -070044 sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \
Zack Williams3467ccb2016-05-27 23:31:22 -070045 -f Dockerfile.test -t xosproject/xos-test ../..
Zack Williams00c10122016-05-27 16:06:50 -070046
47run:
48 sudo docker run -d --name ${CONTAINER_NAME} -p 80:8000 \
49 ${IMAGE_NAME}
50
51runtosca:
52 sudo docker exec -it ${CONTAINER_NAME} \
53 /usr/bin/python /opt/xos/tosca/run.py padmin@vicci.org ${TOSCA_CONFIG_PATH}
54
55stop:
56 sudo docker stop ${CONTAINER_NAME}
57
58rm:
59 sudo docker rm ${CONTAINER_NAME}
60
61rmi:
62 sudo docker rmi `docker images | grep "^<none>" | awk '{print $$3}'`
63