Github user guofengrichard commented on a diff in the pull request: https://github.com/apache/incubator-hawq/pull/1073#discussion_r94547555 --- Diff: contrib/hawq-docker/Makefile --- @@ -0,0 +1,205 @@ +#!/usr/bin/make all + +THIS_MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) +TOP_DIR := $(abspath $(dir ${THIS_MAKEFILE_PATH})) +NDATANODES := 3 +CUR_DATANODE := 1 +OS_VERSION := centos7 +# Do not use underscore "_" in CLUSTER_ID +CLUSTER_ID := $(OS_VERSION) +# Monut this local directory to /data in data container and share with other containers +LOCAL := +# networks used in docker +NETWORK := $(CLUSTER_ID)_hawq_network + +all: + @echo " Usage:" + @echo " To setup a build and test environment: make run" + @echo " To start all containers: make start" + @echo " To stop all containers: make stop" + @echo " To remove hdfs containers: make clean" + @echo " To remove all containers: make distclean" + @echo "" + @echo " To build images locally: make build" + @echo " To pull latest images: make pull" + +build: + @make -f $(THIS_MAKEFILE_PATH) build-hawq-dev-$(OS_VERSION) + @make -f $(THIS_MAKEFILE_PATH) build-hawq-test-$(OS_VERSION) + @echo "Done!" + +build-hawq-dev-$(OS_VERSION): $(TOP_DIR)/$(OS_VERSION)-docker/hawq-dev/Dockerfile + @echo build hawq-dev:$(OS_VERSION) image + docker build -t hawq/hawq-dev:$(OS_VERSION) $(TOP_DIR)/$(OS_VERSION)-docker/hawq-dev/ + +build-hawq-test-$(OS_VERSION): $(TOP_DIR)/$(OS_VERSION)-docker/hawq-test/Dockerfile + @echo build hawq-test:$(OS_VERSION) image + docker build -t hawq/hawq-test:$(OS_VERSION) $(TOP_DIR)/$(OS_VERSION)-docker/hawq-test/ + +create-data-container: + @echo create ${CLUSTER_ID}-data container + @if [ ! -z "$(LOCAL)" -a ! -d "$(LOCAL)" ]; then \ + echo "LOCAL must be set to a directory!"; \ + exit 1; \ + fi + @if [ -z "`docker ps -a --filter="name=${CLUSTER_ID}-data$$" | grep -v CONTAINER`" ]; then \ + if [ -z "$(LOCAL)" ]; then \ + docker create -v /data --name=${CLUSTER_ID}-data hawq/hawq-dev:$(OS_VERSION) /bin/true; \ + else \ + docker create -v $(LOCAL):/data --name=${CLUSTER_ID}-data hawq/hawq-dev:$(OS_VERSION) /bin/true; \ + fi \ + else \ + echo "${CLUSTER_ID}-data container already exist!"; \ + fi + +run: + @if [ -z "`docker network ls 2>/dev/null`" ]; then \ + make -f $(THIS_MAKEFILE_PATH) NETWORK=default create-data-container && \ + make -f $(THIS_MAKEFILE_PATH) NETWORK=default run-hdfs; \ + else \ + if [ -z "`docker network ls 2>/dev/null | grep $(NETWORK)`" ]; then \ + echo create network $(NETWORK) && \ + docker network create --driver bridge $(NETWORK); \ + fi && \ + make -f $(THIS_MAKEFILE_PATH) create-data-container && \ + make -f $(THIS_MAKEFILE_PATH) run-hdfs; \ --- End diff -- Thanks for reminding.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---