Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 1 | # 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 Mack | 7c162e7 | 2015-10-30 15:22:20 +0000 | [diff] [blame] | 14 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 15 | NO_DOCKER_CACHE ?= false |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 16 | |
Zack Williams | 3467ccb | 2016-05-27 23:31:22 -0700 | [diff] [blame] | 17 | CONTAINER_NAME ?= xos-server |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 18 | IMAGE_NAME ?= xosproject/xos |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 19 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 20 | XOS_GIT_REPO ?= git://github.com/open-cloud/xos.git |
| 21 | XOS_GIT_BRANCH ?= master |
Tony Mack | aeefc66 | 2015-10-30 18:08:47 +0000 | [diff] [blame] | 22 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 23 | TOSCA_CONFIG_PATH ?= /opt/xos/configurations/opencloud/opencloud.yaml |
Matteo Scandolo | a665842 | 2016-04-06 14:44:56 -0700 | [diff] [blame] | 24 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 25 | base: |
Zack Williams | d4fb207 | 2016-05-31 10:19:53 -0700 | [diff] [blame] | 26 | sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \ |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 27 | -f Dockerfile.base -t xosproject/xos-base . |
Tony Mack | aeefc66 | 2015-10-30 18:08:47 +0000 | [diff] [blame] | 28 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 29 | build: |
| 30 | sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \ |
| 31 | -f Dockerfile -t ${IMAGE_NAME} . |
Tony Mack | aeefc66 | 2015-10-30 18:08:47 +0000 | [diff] [blame] | 32 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 33 | custom: |
| 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 Mack | aeefc66 | 2015-10-30 18:08:47 +0000 | [diff] [blame] | 38 | |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 39 | devel: |
Zack Williams | d4fb207 | 2016-05-31 10:19:53 -0700 | [diff] [blame] | 40 | sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \ |
Zack Williams | 3467ccb | 2016-05-27 23:31:22 -0700 | [diff] [blame] | 41 | -f Dockerfile.devel -t ${IMAGE_NAME} ../.. |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 42 | |
| 43 | test: |
Zack Williams | d4fb207 | 2016-05-31 10:19:53 -0700 | [diff] [blame] | 44 | sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm \ |
Zack Williams | 3467ccb | 2016-05-27 23:31:22 -0700 | [diff] [blame] | 45 | -f Dockerfile.test -t xosproject/xos-test ../.. |
Zack Williams | 00c1012 | 2016-05-27 16:06:50 -0700 | [diff] [blame] | 46 | |
| 47 | run: |
| 48 | sudo docker run -d --name ${CONTAINER_NAME} -p 80:8000 \ |
| 49 | ${IMAGE_NAME} |
| 50 | |
| 51 | runtosca: |
| 52 | sudo docker exec -it ${CONTAINER_NAME} \ |
| 53 | /usr/bin/python /opt/xos/tosca/run.py padmin@vicci.org ${TOSCA_CONFIG_PATH} |
| 54 | |
| 55 | stop: |
| 56 | sudo docker stop ${CONTAINER_NAME} |
| 57 | |
| 58 | rm: |
| 59 | sudo docker rm ${CONTAINER_NAME} |
| 60 | |
| 61 | rmi: |
| 62 | sudo docker rmi `docker images | grep "^<none>" | awk '{print $$3}'` |
| 63 | |