diff --git a/sdc-os-chef/scripts/docker_build.sh b/sdc-os-chef/scripts/docker_build.sh
new file mode 100644
index 0000000..03c922e
--- /dev/null
+++ b/sdc-os-chef/scripts/docker_build.sh
@@ -0,0 +1,196 @@
+#!/bin/bash
+#set -x
+
+
+function usage
+{
+    echo "usage: docker_run.sh [ -r|--release <RELEASE-NAME> ]  [ -e|--environment <ENV-NAME> ] [ -p|--port <Docker-hub-port>] [ -h|--help ]"
+}
+
+
+function print_log () {
+    funcname=$1
+    lineno=$2
+    sev=$3
+    msg=$4
+    dd=`date +"%Y-%m-%d %H:%M:%S"`
+    case ${sev} in
+       "INFO")
+          COLOR="\033[1;32m"             # GREEN
+          ;;
+       "ERROR")
+          COLOR="\033[1;31m"             # RED
+          ;;
+    esac
+    echo -e "$dd: $fname, $funcname:$lineno --- ${COLOR} $msg\e[0m" |tee -a $LOG
+
+}
+
+
+
+function conf_proxy () {
+   grep http_proxy Dockerfile || /bin/sed -i '/FROM/a ARG http_proxy=http://one.proxy.att.com:8080\nARG https_proxy=http://one.proxy.att.com:8080' Dockerfile
+}
+
+###################################
+#########   Parameters    #########
+###################################
+
+WORKSPACE=$1
+WORK_DIR=/data/sdc-os-chef
+LOGFILE=`basename $0|awk -F. '{print $1".log"}'`
+LOG=$WORK_DIR/$LOGFILE
+DOCKER_REP=dockercentral.it.att.com:5100
+ECOMP_REP=${DOCKER_REP}/com.att.sdc/openecomp
+REL=`/usr/bin/xml_grep --text_only parent/version /data/sdc-os-chef/pom.xml`
+DOX_VER=` /bin/grep AMDOCS /data/sdc-os-chef/versions.properties | awk '{print $2}' | awk -F"." '{print $1}'`
+DOX_NUM=` /bin/grep AMDOCS /data/sdc-os-chef/versions.properties | awk '{print $2}' | awk -F"." '{print substr($NF,1,4)}' `
+VERSION=` /bin/grep ASDC /data/sdc-os-chef/versions.properties | awk '{print $2}' `
+MAVEN_REPO=mavencentral.it.att.com:8084/nexus/content/repositories
+ONBOARD_GR=com/att/asdc/onboarding/${DOX_VER}/${DOX_NUM}
+
+
+[ -f /opt/config/env_name.txt ] && DEP_ENV=$(cat /opt/config/env_name.txt) || DEP_ENV=__ENV-NAME__
+[ -f /opt/config/nexus_username.txt ] && NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt)    || NEXUS_USERNAME=release
+[ -f /opt/config/nexus_password.txt ] && NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt)      || NEXUS_PASSWD=sfWU3DFVdBr7GVxB85mTYgAW
+[ -f /opt/config/nexus_docker_repo.txt ] && NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt) || NEXUS_DOCKER_REPO=ecomp-nexus:${PORT}
+
+[ -f /opt/config/nexus_username.txt ] && docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+#docker login -u m09875@sdc.att.com -p Aa1234%^! -e mg877n@att.com dockercentral.it.att.com:5100
+
+
+###################################
+########       MAIN        ########
+###################################
+print_log Main $LINENO INFO "##### $0 completed #####"
+
+###################################
+######## sdc-elasticsearch ########
+###################################
+cd /data/sdc-os-chef/sdc-elasticsearch
+print_log Main $LINENO INFO "start creating sdc-elasticsearch ..."
+conf_proxy
+
+docker build -t ${ECOMP_REP}/sdc-elasticsearch:${VERSION} .
+docker tag  ${ECOMP_REP}/sdc-elasticsearch:${VERSION} ${ECOMP_REP}/sdc-elasticsearch
+docker push ${ECOMP_REP}/sdc-elasticsearch:${VERSION}
+res=$?
+if [ ${res} -eq 0 ]; then
+   print_log Main $LINENO INFO "${ECOMP_REP}/sdc-elasticsearch:${VERSION} pushed successfully"
+else
+   print_log Main $LINENO ERROR "Error pushing ${ECOMP_REP}/sdc-elasticsearch:${VERSION}"
+fi
+
+
+###################################
+########   sdc-cassandra   ########
+###################################
+cd /data/sdc-os-chef/sdc-cassandra
+print_log Main $LINENO INFO "start creating sdc-cassandra ..."
+
+conf_proxy
+
+docker build -t ${ECOMP_REP}/sdc-cassandra:${VERSION} .
+docker tag  ${ECOMP_REP}/sdc-cassandra:$VERSION ${ECOMP_REP}/sdc-cassandra
+docker push ${ECOMP_REP}/sdc-cassandra:$VERSION
+res=$?
+if [ ${res} -eq 0 ]; then
+   print_log Main $LINENO INFO "${ECOMP_REP}/sdc-cassandra:${VERSION} pushed successfully"
+else
+   print_log Main $LINENO ERROR "Error pushing ${ECOMP_REP}/sdc-cassandra:${VERSION}"
+fi
+
+
+
+###################################
+########    sdc-kibana     ########
+###################################
+cd /data/sdc-os-chef/sdc-kibana
+print_log Main $LINENO INFO "start creating sdc-kibana ..."
+
+conf_proxy
+
+docker build -t ${ECOMP_REP}/sdc-kibana:$VERSION .
+docker tag  ${ECOMP_REP}/sdc-kibana:$VERSION   ${ECOMP_REP}/sdc-kibana
+docker push ${ECOMP_REP}/sdc-kibana:$VERSION
+res=$?
+if [ ${res} -eq 0 ]; then
+   print_log Main $LINENO INFO "${ECOMP_REP}/sdc-kibana:${VERSION} pushed successfully"
+else
+   print_log Main $LINENO ERROR "Error pushing ${ECOMP_REP}/sdc-kibana:${VERSION}"
+fi
+
+
+###################################
+########    sdc-sanity     ########
+###################################
+cd /data/sdc-os-chef/sdc-sanity
+print_log Main $LINENO INFO "start creating sdc-sanity ..."
+
+conf_proxy
+
+docker build -t ${ECOMP_REP}/sdc-sanity:$VERSION .
+docker tag  ${ECOMP_REP}/sdc-sanity:$VERSION   ${ECOMP_REP}/sdc-sanity
+docker push ${ECOMP_REP}/sdc-sanity:$VERSION
+res=$?
+if [ ${res} -eq 0 ]; then
+   print_log Main $LINENO INFO "${ECOMP_REP}/sdc-sanity:${VERSION} pushed successfully"
+else
+   print_log Main $LINENO ERROR "Error pushing ${ECOMP_REP}/sdc-sanity:${VERSION}"
+fi
+
+
+###################################
+########   sdc-backend     ########
+###################################
+cd /data/sdc-os-chef/sdc-backend
+print_log Main $LINENO INFO "start creating sdc-backend ..."
+
+conf_proxy
+/bin/sed -i "s/__SDC-RELEASE__/${REL}/g" Dockerfile
+
+wget -q -nd -r --no-parent -A 'onboard-main*.tar' http://${MAVEN_REPO}/att-repository-snapshots/${ONBOARD_GR}/onboard-main
+if [ $? -ne 0 ] ; then
+   wget -q -nd -r --no-parent -A 'onboard-main*.tar' http://${MAVEN_REPO}/att-repository-releases/${ONBOARD_GR}/onboard-main
+fi
+/bin/tar -xf onboard-main-${DOX_VER}.*.tar --wildcards --no-anchored "onboarding-be-${DOX_VER}.*.war"
+rm onboard-main*.tar
+
+docker build -t ${ECOMP_REP}/sdc-backend:$VERSION .
+docker tag  ${ECOMP_REP}/sdc-backend:$VERSION   ${ECOMP_REP}/sdc-backend
+docker push ${ECOMP_REP}/sdc-backend:$VERSION
+res=$?
+if [ ${res} -eq 0 ]; then
+   print_log Main $LINENO INFO "${ECOMP_REP}/sdc-backend:${VERSION} pushed successfully"
+else
+   print_log Main $LINENO ERROR "Error pushing ${ECOMP_REP}/sdc-backend:${VERSION}"
+fi
+
+
+###################################
+########   sdc-frontend    ########
+###################################
+cd /data/sdc-os-chef/sdc-frontend
+print_log Main $LINENO INFO "start creating sdc-frontend ..."
+
+conf_proxy
+
+/bin/sed -i "s/__SDC-RELEASE__/${REL}/g" Dockerfile
+wget -q -nd -r --no-parent -A 'onboard-main*.tar' http://${MAVEN_REPO}/att-repository-snapshots/${ONBOARD_GR}/onboard-main
+if [ $? -ne 0 ] ; then
+   wget -q -nd -r --no-parent -A 'onboard-main*.tar' http://${MAVEN_REPO}/att-repository-releases/${ONBOARD_GR}/onboard-main
+fi
+/bin/tar -xf onboard-main-${DOX_VER}.*.tar --wildcards --no-anchored "onboarding-fe-${DOX_VER}.*.war"
+rm onboard-main*.tar
+
+docker build -t ${ECOMP_REP}/sdc-frontend:$VERSION .
+docker tag  ${ECOMP_REP}/sdc-frontend:$VERSION   ${ECOMP_REP}/sdc-frontend
+docker push ${ECOMP_REP}/sdc-frontend:$VERSION
+res=$?
+if [ ${res} -eq 0 ]; then
+   print_log Main $LINENO INFO "${ECOMP_REP}/sdc-frontend:${VERSION} pushed successfully"
+else
+   print_log Main $LINENO ERROR "Error pushing ${ECOMP_REP}/sdc-frontend:${VERSION}"
+fi
+
+print_log Main $LINENO INFO "##### $0 completed #####"
