docker-compose: bugfix to pass Env Vars correctly (#9)
* docker-compose: bugfix to pass Env Vars correctly
* updated README
diff --git a/docker-compose/Makefile b/docker-compose/Makefile
index 2199ffc..47ae230 100644
--- a/docker-compose/Makefile
+++ b/docker-compose/Makefile
@@ -1,4 +1,6 @@
DOCKER_HOST_IP ?= $(shell echo ${DOCKER_HOST} | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" || echo localhost)
+DOCKER_REGISTRY ?= ""
+DOCKER_IMAGE_PREFIX ?= whisk
PROJECT_HOME ?= openwhisk-master
WSK_CLI ?= $(PROJECT_HOME)/bin/wsk
@@ -69,9 +71,20 @@
cp $(PROJECT_HOME)/ansible/roles/nginx/files/*.pem ~/tmp/openwhisk/apigateway/ssl
cp -r ./apigateway/* ~/tmp/openwhisk/apigateway/
+.PHONY: restart
+restart: stop rm start-docker-compose
+
.PHONY: start-docker-compose
start-docker-compose:
- DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) docker-compose --project-name openwhisk up 2>&1 > ~/tmp/openwhisk/docker-compose.log &
+ DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) DOCKER_REGISTRY=$(DOCKER_REGISTRY) DOCKER_IMAGE_PREFIX=$(DOCKER_IMAGE_PREFIX) docker-compose --project-name openwhisk up 2>&1 > ~/tmp/openwhisk/docker-compose.log &
+
+.PHONY: stop
+stop:
+ DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) DOCKER_REGISTRY=$(DOCKER_REGISTRY) DOCKER_IMAGE_PREFIX=$(DOCKER_IMAGE_PREFIX) docker-compose --project-name openwhisk stop
+
+.PHONY: rm
+rm:
+ DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) DOCKER_REGISTRY=$(DOCKER_REGISTRY) DOCKER_IMAGE_PREFIX=$(DOCKER_IMAGE_PREFIX) docker-compose --project-name openwhisk rm
.PHONY: init-couchdb
init-couchdb:
@@ -116,13 +129,8 @@
echo "initializing CLI ... "
$(WSK_CLI) -v property set --namespace guest --auth `cat $(PROJECT_HOME)/ansible/files/auth.guest` --apihost $(DOCKER_HOST_IP):443 -i
-.PHONY: stop
-stop:
- DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) docker-compose --project-name openwhisk stop
-
.PHONY: destroy
-destroy: stop
- DOCKER_COMPOSE_HOST=$(DOCKER_HOST_IP) docker-compose --project-name openwhisk rm
+destroy: stop rm
echo "cleaning other openwhisk containers started by the invoker ... "
docker ps | grep whisk | awk '{print $$1}' | xargs docker stop | xargs docker rm
echo "cleaning dangling docker volumes ... "
diff --git a/docker-compose/README.md b/docker-compose/README.md
index f828e1c..45bd489 100644
--- a/docker-compose/README.md
+++ b/docker-compose/README.md
@@ -36,6 +36,10 @@
}
```
+If `PROJECT_HOME` variable is set ( i.e. `PROJECT_HOME=/path/to/openwhisk make quick-start`)
+then the command skips downloading the `master` branch and uses instead the source code found in the `PROJECT_HOME` folder.
+This is useful for working with a local clone, making changes to the code, and run it with `docker-compose`.
+
# Build
```bash
@@ -96,3 +100,13 @@
- OpenWhisk Controller - `~/tmp/openwhisk/controller/logs/`
- OpenWhisk Invoker - `~/tmp/openwhisk/invoker/logs/`
- `docker-compose` logs - `~/tmp/openwhisk/docker-compose.log`
+
+
+## Custom Docker containers for actions
+
+To start `docker-compose` with custom images used for running actions use the following 2 variables:
+
+- `DOCKER_REGISTRY` - specify a custom docker registry. I.e ```DOCKER_REGISTRY=registry.example.com make quick-start```
+- `DOCKER_IMAGE_PREFIX` - specify a custom image prefix. I.e. ```DOCKER_IMAGE_PREFIX=my-prefix make quick-start```
+
+These 2 variable allow you to execute a JS action using the container `registry.example.com/my-prefix/nodejs6action` .
\ No newline at end of file
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml
index 0b59fb8..d461896 100644
--- a/docker-compose/docker-compose.yml
+++ b/docker-compose/docker-compose.yml
@@ -27,6 +27,7 @@
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
+ - ~/tmp/openwhisk/kafka:/kafka:rw
# CONSUL & REGISTRATOR SERVICES
consul:
@@ -120,9 +121,12 @@
EDGE_HOST: ${DOCKER_COMPOSE_HOST}
EDGE_HOST_APIPORT: 443
- DOCKER_REGISTRY: ""
- DOCKER_IMAGE_PREFIX: whisk
+ DOCKER_REGISTRY: ${DOCKER_REGISTRY}
+ DOCKER_IMAGE_PREFIX: ${DOCKER_IMAGE_PREFIX}
+
INVOKER_CONTAINER_NETWORK: openwhisk_default
+
+ WHISK_API_HOST: https://${DOCKER_COMPOSE_HOST}
volumes:
- ~/tmp/openwhisk/invoker/logs:/logs
- /var/run/docker.sock:/var/run/docker.sock
diff --git a/docker-compose/docker-whisk-controller.env b/docker-compose/docker-whisk-controller.env
index 6897551..974f428 100644
--- a/docker-compose/docker-whisk-controller.env
+++ b/docker-compose/docker-whisk-controller.env
@@ -28,7 +28,4 @@
LOADBALANCER_ACTIVATIONCOUNTBEFORENEXTINVOKER=10
-WHISK_API_HOST=https://${DOCKER_COMPOSE_HOST}
-
WHISK_SYSTEM_KEY=whisk.system
-